This is an archive of the discontinued LLVM Phabricator instance.

DWARF location lists: Add section index dumping
ClosedPublic

Authored by labath on Nov 14 2019, 2:54 AM.

Details

Summary

As discussed in D70081, this adds the ability to dump section
names/indices to the location list dumper. It does this by moving the
range specific logic from DWARFDie.cpp:dumpRanges into the
DWARFAddressRange class.

The trickiest part of this patch is the backflip in the meanings of the
two dump flags for the location list sections.

The dumping of "raw" location list data is now controlled by
"DisplayRawContents" flag. This frees up the "Verbose" flag to be used
to control whether we print the section index. Additionally, the
DisplayRawContents flag is set for section-based dumps whenever the
--verbose option is passed, but this is not done for the "inline" dumps.

Also note that the index dumping currently does not work for the DWARF
v5 location lists, as the parser does not fill out the appropriate
fields. This will be done in a separate patch.

Diff Detail

Event Timeline

labath created this revision.Nov 14 2019, 2:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 14 2019, 2:54 AM
dblaikie accepted this revision.Nov 14 2019, 10:26 AM

Looks good - thanks!

This revision is now accepted and ready to land.Nov 14 2019, 10:26 AM
This revision was automatically updated to reflect the committed changes.

@labath I'm sorry but I had to revert this at rGc070a27acc474a2e4a159d8797d4506bcbe71a30 to help get the buildbots green again

Thanks @RKSimon. My internet was down for a while, so I did not see the breakage notification. I'll look into the problem now.

Recommitted as dca2b36ba09 with the windows fix. Looking good so far (at least one windows bot now passes).

Recommitted as dca2b36ba09 with the windows fix. Looking good so far (at least one windows bot now passes).

@labath http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/29252/ - you might need a REQUIRES tag or something similar?

Recommitted as dca2b36ba09 with the windows fix. Looking good so far (at least one windows bot now passes).

@labath http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/29252/ - you might need a REQUIRES tag or something similar?

Umm.. are you sure that this is due to this patch? I'm going to dig around, but I'd be pretty surprised if it's down to this, as that does does not even invoke dwarfdump.

It looks like that particular breakage should be fixed with aea7578fade2563cb5ea60548914667b515c457a, which cites 2d739f9 as the breaking commit.