llvm-project/lld/MachO
Nico Weber 0658fc654c [lld/mac] Implement the missing bits of -undefined
This adds support for `-undefined dynamic_lookup`, and for
`-undefined warning` and `-undefined suppress` with `-flat_namespace`.

We just replace undefined symbols with a DynamicLookup when we hit them.

With this, `check-llvm` passes when using ld64.lld.darwinnew as host linker.

Differential Revision: https://reviews.llvm.org/D97642
2021-03-01 15:30:53 -05:00
..
Arch [lld-macho] Extract embedded addends for arm64 UNSIGNED relocations 2021-02-27 12:31:34 -05:00
CMakeLists.txt [lld-macho] Add ARM64 target arch 2021-02-08 18:14:07 -07:00
Config.h [lld-macho] Implement options -rename_section -rename_segment 2021-02-27 11:44:12 -08:00
Driver.cpp [lld/mac] Add support for -flat_namespace 2021-03-01 15:25:10 -05:00
Driver.h Reland [lld-macho]Implement bundle_loader 2021-02-22 14:05:12 -05:00
DriverUtils.cpp [lld-macho] check minimum header length when opening linkable input files 2021-02-27 14:41:40 -08:00
Dwarf.cpp [lld-macho] Don't attempt to emit rebase opcodes for debug sections 2020-12-10 15:57:51 -08:00
Dwarf.h [lld-macho] Emit STABS symbols for debugging, and drop debug sections 2020-12-01 15:05:20 -08:00
ExportTrie.cpp [lld-macho] Associate each Symbol with an InputFile 2021-02-03 13:43:47 -05:00
ExportTrie.h [lld-macho] Export trie addresses should be relative to the image base 2020-09-20 20:43:15 -07:00
InputFiles.cpp [lld/mac] Add support for -flat_namespace 2021-03-01 15:25:10 -05:00
InputFiles.h [lld-macho] check minimum header length when opening linkable input files 2021-02-27 14:41:40 -08:00
InputSection.cpp [lld-macho] Don't emit rebase opcodes for subtractor minuend relocs 2021-02-27 12:31:34 -05:00
InputSection.h [lld-macho] Add ARM64 target arch 2021-02-08 18:14:07 -07:00
LTO.cpp [lld-macho] Basic support for linkage and visibility attributes in LTO 2021-02-25 13:27:40 -05:00
LTO.h [lld-macho] Add very basic support for LTO 2020-11-10 12:19:28 -08:00
MachOStructs.h [lld-macho] Ensure reads from nlist_64 structs are aligned when necessary 2020-06-02 13:19:38 -07:00
MergedOutputSection.cpp [lld-macho] Handle alignment correctly when merging InputSections 2020-06-17 20:41:28 -07:00
MergedOutputSection.h [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
ObjC.cpp [lld-macho] Implement -ObjC 2020-08-26 19:20:55 -07:00
ObjC.h [lld-macho] Implement -ObjC 2020-08-26 19:20:55 -07:00
Options.td [lld/mac] Add support for -flat_namespace 2021-03-01 15:25:10 -05:00
OutputSection.cpp [lld-macho] Refactor segment/section creation, sorting, and merging 2020-06-21 17:13:59 -07:00
OutputSection.h [lld-macho] Emit indirect symbol table 2020-09-23 19:26:40 -07:00
OutputSegment.cpp [lld-macho] Remove unnecessary llvm:: namespace prefixes 2021-01-09 12:44:35 -05:00
OutputSegment.h [lld-macho] add code signature for native arm64 macOS 2021-02-24 17:05:23 -08:00
SymbolTable.cpp [lld/mac] Implement the missing bits of -undefined 2021-03-01 15:30:53 -05:00
SymbolTable.h [lld/mac] Add some support for dynamic lookup symbols, and implement -U 2021-02-26 16:50:53 -05:00
Symbols.cpp [lld-macho] Associate each Symbol with an InputFile 2021-02-03 13:43:47 -05:00
Symbols.h [lld/mac] Add some support for dynamic lookup symbols, and implement -U 2021-02-26 16:50:53 -05:00
SyntheticSections.cpp [lld/mac] Add support for -flat_namespace 2021-03-01 15:25:10 -05:00
SyntheticSections.h [lld-macho] add code signature for native arm64 macOS 2021-02-24 17:05:23 -08:00
Target.cpp [lld-macho] Fix semantics & add tests for ARM64 GOT/TLV relocs 2021-02-23 22:02:38 -05:00
Target.h [lld-macho] Don't emit rebase opcodes for subtractor minuend relocs 2021-02-27 12:31:34 -05:00
UnwindInfoSection.cpp [lld/mac] Implement the missing bits of -undefined 2021-03-01 15:30:53 -05:00
UnwindInfoSection.h [lld-macho] Emit LSDA info in compact unwind 2021-02-08 13:48:00 -05:00
Writer.cpp [lld/mac] Implement the missing bits of -undefined 2021-03-01 15:30:53 -05:00
Writer.h [lld-macho] Fix TLV data initialization 2021-01-08 18:48:12 -05:00