[PATCH] D53364: [llvm-dwarfdump] - Add the support of parsing .debug_loclists.
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 22 11:48:53 PDT 2018
dblaikie added inline comments.
================
Comment at: lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:222-226
+ case dwarf::DW_LLE_startx_length:
+ OS << '\n';
+ OS.indent(Indent);
+ OS << "Addr idx " << E.Value0 << " (w/ length " << E.Value1 << "): ";
+ break;
----------------
This should lookup Value0 in the address pool, probably? I think I have that implemented for rnglists in my prototype/work-in-progress work there. (nothing I've sent out yet, but should be soon)
================
Comment at: lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:238-240
+ case dwarf::DW_LLE_base_address:
+ BaseAddr = E.Value0;
+ break;
----------------
Probably worth implementing base_addressx too
================
Comment at: llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:161
+ E.Value0 = Data.getULEB128(Offset);
+ E.Value1 = Data.getU32(Offset);
+ break;
----------------
Looks like this should probably be a ULEB128 too, according to DWARF5?
(2.6.2 Location Lists - DW_LLE_startx_length: "This is a form of bounded location description that has two unsigned ULEB operands. The first value is an address index (into the .debug_addr section) that indicates the beginning of the address range over which the location is valid. The second value is the length of the range. ")
Repository:
rL LLVM
https://reviews.llvm.org/D53364
More information about the llvm-commits
mailing list