This is an archive of the discontinued LLVM Phabricator instance.

SymbolVendor: Move Symtab construction into the SymbolFile
ClosedPublic

Authored by labath on Jul 24 2019, 6:51 AM.

Details

Summary

Instead of having SymbolVendor coordinate Symtab construction between
Symbol and Object files, make the SymbolVendor function a passthrough,
and put all of the logic into the SymbolFile.

Event Timeline

labath created this revision.Jul 24 2019, 6:51 AM

So the original idea behind the symbol vendor was that if you have more than one binary: stripped installed binary, and unstripped debug info binary with symbols, that the symbol table could be generated by using one or more object files. It would be nice to ensure we can still do this somehow.

So the original idea behind the symbol vendor was that if you have more than one binary: stripped installed binary, and unstripped debug info binary with symbols, that the symbol table could be generated by using one or more object files. It would be nice to ensure we can still do this somehow.

This functionality still exists/works (we even have tests for it :P), and I have no intention of removing it. The merging of sections from the split binaries happens in SymbolVendorELF::CreateInstance and ObjectFileMachO::CreateSections. This patch merely changes where the Symtab created from these merged sections ends up being stored.

clayborg accepted this revision.Jul 25 2019, 7:04 AM
This revision is now accepted and ready to land.Jul 25 2019, 7:04 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 26 2019, 12:04 AM