This is an archive of the discontinued LLVM Phabricator instance.

[DWARF] Use sequential integers for the IDs of the SymbolFileDWOs
ClosedPublic

Authored by labath on May 10 2019, 5:57 AM.

Details

Summary

Instead of using the offset of the contained compile unit, we use it's
ID. The goal of this change is two-fold:

  • free up space in the user_id_t representation to enable storing the debug-info-carrying section (debug_types/debug_info) without decreasing the amount of debug info we can address (as would be the case with D61503).
  • be a step towards supporting DWO files containing more than one unit (important for debug_types+dwo, but can also happen with regular dwo+lto). For this part to fully work we'd still need to add a way to lookup the SymbolFileDWO without going through GetCompileUnitAtIndex, but making sure things don't accidentally work because the SymbolFile ID is the same as compile unit offset is a step towards that.

Diff Detail

Repository
rLLDB LLDB

Event Timeline

labath created this revision.May 10 2019, 5:57 AM
clayborg accepted this revision.May 10 2019, 7:29 AM
This revision is now accepted and ready to land.May 10 2019, 7:29 AM

Might want the person that did DWO support to chime in here if that wasn't you?

It was @tberghammer. I'm cc-ing him to these patches, but I'm not sure what's his state these days...

JDevlieghere accepted this revision.May 10 2019, 3:29 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMay 13 2019, 1:58 AM