[PATCH] This phabricator revision is the merge of 4 patches that aim to provide resolving of AT_abstract_origin and AT_specification attributes.

Frederic Riss friss at apple.com
Fri Sep 5 04:01:50 PDT 2014


Hi dblaikie, echristo, aprantl,

The 4 patches are:

 - Fix DWARFContext::getCompileUnitForOffset()

     The comparator used for the search compares the beginning of the CU Offset,
     but this will return CUs.end() when the searched offset is in the last CU.
     Use the Unit end offset instead in the comparator. This requires some
     cleverness so that searching for a start offset will return the good unit.

 lib/DebugInfo/DWARFContext.cpp | 37 +++++++++++++++++++++----------------

 - Make DWARFContext::getCompileUnitForOffset() public.

     They will be used by DIE dump() to resolve reference attributes.

 lib/DebugInfo/DWARFContext.h | 2 +-

 - Handle cross-unit references in DWARFDebugInfoEntryMinimal::getSubroutineName().

 lib/DebugInfo/DWARFDebugInfoEntry.cpp | 7 +++++++

 - [dwarfdump] Print the name for referenced specification of abstract_origin DIEs.

     This way, when you have a inlined/template instance in the debug information, it's easy to find out wihtout searching what the instance origin.

 lib/DebugInfo/DWARFDebugInfoEntry.cpp | 14 ++++++++++++++
 test/Linker/type-unique-odr-a.ll      |  2 +-

http://reviews.llvm.org/D5208

Files:
  lib/DebugInfo/DWARFContext.cpp
  lib/DebugInfo/DWARFContext.h
  lib/DebugInfo/DWARFDebugInfoEntry.cpp
  test/Linker/type-unique-odr-a.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5208.13313.patch
Type: text/x-patch
Size: 4141 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140905/c7a53d08/attachment.bin>


More information about the llvm-commits mailing list