This is an archive of the discontinued LLVM Phabricator instance.

Allow DWARFDebugInfoEntryMinimal::getSubroutineName to resolve cross-unit references.
ClosedPublic

Authored by friss on Sep 18 2014, 5:31 AM.

Details

Summary

getSubroutineName is currently only used by llvm-symbolizer, thus add a binary test containing a cross-cu inlining example.

Diff Detail

Repository
rL LLVM

Event Timeline

friss updated this revision to Diff 13828.Sep 18 2014, 5:31 AM
friss retitled this revision from to Allow DWARFDebugInfoEntryMinimal::getSubroutineName to resolve cross-unit references..
friss added reviewers: samsonov, dblaikie.
friss updated this object.
friss added a subscriber: Unknown Object (MLST).
samsonov added inline comments.Sep 18 2014, 5:30 PM
lib/DebugInfo/DWARFDebugInfoEntry.cpp
31 ↗(On Diff #13828)

If the reference is invalid, just return nullptr

test/DebugInfo/Inputs/cross-cu-inlining.c
1 ↗(On Diff #13828)

Please provide a better description of how to turn this into an .o file (exact sequence of commands).

friss updated this revision to Diff 13875.Sep 19 2014, 8:59 AM
  • Do not assert in findUnitAndExtractFast helper
  • Put detailed explanations on how to regenerate the test input binary
samsonov accepted this revision.Sep 19 2014, 4:47 PM
samsonov edited edge metadata.

LGTM. Thanks!

lib/DebugInfo/DWARFDebugInfoEntry.cpp
31 ↗(On Diff #13875)

Please put parentheses around

Unit && DIE.extractFast(Unit, Offset)
This revision is now accepted and ready to land.Sep 19 2014, 4:47 PM
friss closed this revision.Sep 22 2014, 5:45 AM
friss updated this revision to Diff 13927.

Closed by commit rL218245 (authored by @friss).