Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 874b3b27cc4c039f029fa4f15b0104e138a5a456
      
https://github.com/dyninst/dyninst/commit/874b3b27cc4c039f029fa4f15b0104e138a5a456
  Author: Sasha @leela <[email protected]>
  Date:   2019-05-09 (Thu, 09 May 2019)

  Changed paths:
    M dwarf/h/dwarfFrameParser.h
    M dwarf/h/dwarfHandle.h
    M dwarf/h/dwarfResult.h
    M dwarf/src/dwarfExprParser.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Fix DwarfFrameParser, decodeDwarfExpression and DwarfResult

After porting Dyninst to use libdw, DwarfFrameParser missed dealing
with important Dwarf operations that would decode rules for findind
registers values. These rules were not properly decoded by Dyninst
decodeDwarfExpression, neither were being dealt by DwarFrameParser.
This fix properly retrieves libdw Dwarf operations and decodes them,
making it possible to DebugStepper work, which wasn't even before the
port, when lidwarf was being used on Dyninst 9.3.

Basically, Dwarf frame info can be a simple dwarf expression, representing
a value or a memory address, a location description, or a location list.
Libdw gives the consumer an array of dwarf operations that describes how
to find the value they're looking for, as opposed to libdwarf who gives
the consumer many out parameters that lead to different ways to find a
value. This important change made DwarfFrameParser work only partially
after the port. And this fix came to implement the cases that were not
being considered.


  Commit: 9aa0f8288c5d88e2bb1e3a5f372ce8d5bdedd5dd
      
https://github.com/dyninst/dyninst/commit/9aa0f8288c5d88e2bb1e3a5f372ce8d5bdedd5dd
  Author: Xiaozhu Meng <[email protected]>
  Date:   2019-05-14 (Tue, 14 May 2019)

  Changed paths:
    M dwarf/h/dwarfFrameParser.h
    M dwarf/h/dwarfHandle.h
    M dwarf/h/dwarfResult.h
    M dwarf/src/dwarfExprParser.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Merge pull request #596 from dyninst/fix-sw-stepper

Fix DwarfFrameParser, decodeDwarfExpression and DwarfResult


Compare: https://github.com/dyninst/dyninst/compare/85be2b7c995a...9aa0f8288c5d
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to