This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo] Fix emitting DWARF64 .debug_loclists sections (14/19).
ClosedPublic

Authored by ikudrin on Sep 2 2020, 6:22 AM.

Details

Summary

The size of the offsets in the table depends on the DWARF format.

Diff Detail

Event Timeline

ikudrin created this revision.Sep 2 2020, 6:22 AM
ikudrin requested review of this revision.Sep 2 2020, 6:22 AM
dblaikie accepted this revision.Sep 2 2020, 9:46 PM

Looks good.

(note to self/anyone: Be nice if this code wasn't loclist specific/was instead shared with the rnglist handling too)

llvm/test/CodeGen/X86/debug-loclists.ll
26

Should this dump the loclist = XXX value with a wider encoding, since it's stored wider? (I think that's generally the idea you've had for dumping, that the dumper should dump the width of the encoded field?)

This revision is now accepted and ready to land.Sep 2 2020, 9:46 PM
ikudrin added inline comments.Sep 3 2020, 4:31 AM
llvm/test/CodeGen/X86/debug-loclists.ll
26

In general, yes, but with some exceptions. In particular, when we show the offset of the information we dump, like the case we have here. The actual encoding of the value in the field is ULEB, and the stored value is 1, while it indirectly points to offset 0x39 in .debug_loclists.

ikudrin retitled this revision from [DebugInfo] Fix emitting DWARF64 .debug_loclists sections (13/19). to [DebugInfo] Fix emitting DWARF64 .debug_loclists sections (14/19)..Sep 3 2020, 7:53 AM
This revision was landed with ongoing or failed builds.Sep 14 2020, 10:25 PM
This revision was automatically updated to reflect the committed changes.