llvm-project/lld/MachO
Jez Ng 7bbdbacd00 [lld-macho] Use export trie instead of symtab when linking against dylibs
Summary:
This allows us to link against stripped dylibs. Moreover, it's simply
more correct: The symbol table includes symbols that the dylib uses but
doesn't export.

This temporarily regresses our ability to do lazy symbol binding because
dyld_stub_binder isn't in libSystem's export trie. Rather, it is in one
of the sub-libraries libSystem re-exports. (This doesn't affect our
tests since we are mocking out dyld_stub_binder there.) A follow-up diff
will address this by adding support for sub-libraries.

Depends on D79114.

Reviewers: ruiu, pcc, MaskRay, smeenai, alexshap, gkm, Ktwu, christylee

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79226
2020-05-09 20:56:22 -07:00
..
Arch [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
CMakeLists.txt [lld] Merge Mach-O input sections 2020-05-01 16:57:18 -07:00
Config.h [lld-macho][reland] Add support for emitting dylibs with a single symbol 2020-04-28 17:08:32 -07:00
Driver.cpp [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
Driver.h Reland D75382 "[lld] Initial commit for new Mach-O backend" 2020-04-02 12:03:43 -07:00
ExportTrie.cpp [lld-macho] Use export trie instead of symtab when linking against dylibs 2020-05-09 20:56:22 -07:00
ExportTrie.h [lld-macho] Use export trie instead of symtab when linking against dylibs 2020-05-09 20:56:22 -07:00
InputFiles.cpp [lld-macho] Use export trie instead of symtab when linking against dylibs 2020-05-09 20:56:22 -07:00
InputFiles.h [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
InputSection.cpp [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
InputSection.h [lld] Merge Mach-O input sections 2020-05-01 16:57:18 -07:00
MergedOutputSection.cpp [lld] Merge Mach-O input sections 2020-05-01 16:57:18 -07:00
MergedOutputSection.h [lld] Merge Mach-O input sections 2020-05-01 16:57:18 -07:00
Options.td [lld-macho][reland] Add support for emitting dylibs with a single symbol 2020-04-28 17:08:32 -07:00
OutputSection.cpp [lld] Merge Mach-O input sections 2020-05-01 16:57:18 -07:00
OutputSection.h [lld-macho] Follow-up to D77893 2020-05-09 20:56:22 -07:00
OutputSegment.cpp [lld-macho] Follow-up to D77893 2020-05-09 20:56:22 -07:00
OutputSegment.h [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
SymbolTable.cpp [lld-macho] Dylib symbols should always replace undefined symbols 2020-05-09 20:56:22 -07:00
SymbolTable.h [lld][macho] Fix implicit dependency on DenseMap.h include 2020-04-27 14:05:29 +01:00
Symbols.cpp Reland D75382 "[lld] Initial commit for new Mach-O backend" 2020-04-02 12:03:43 -07:00
Symbols.h [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
SyntheticSections.cpp [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
SyntheticSections.h [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
Target.cpp Reland D75382 "[lld] Initial commit for new Mach-O backend" 2020-04-02 12:03:43 -07:00
Target.h [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
Writer.cpp [lld-macho] Support calls to functions in dylibs 2020-05-09 20:56:22 -07:00
Writer.h [lld-macho] Extend SyntheticSections to cover all segment load commands 2020-04-27 12:58:12 -07:00