llvm-project/lld/test
Jez Ng ceff23c6e3 [lld-macho] -flat_namespace for dylibs should make all externs interposable
All references to interposable symbols can be redirected at runtime to
point to a different symbol definition (with the same name). For
example, if both dylib A and B define symbol _foo, and we load A before
B at runtime, then all references to _foo within dylib B will point to
the definition in dylib A.

ld64 makes all extern symbols interposable when linking with
`-flat_namespace`.

TODO 1: Support `-interposable` and `-interposable_list`, which should
just be a matter of parsing those CLI flags and setting the
`Defined::interposable` bit.

TODO 2: Set Reloc::FinalDefinitionInLinkageUnit correctly with this info
(we are currently not setting it at all, so we're erring on the
conservative side, but we should help the LTO backend generate more
optimal code.)

Reviewed By: modimo, MaskRay

Differential Revision: https://reviews.llvm.org/D119294
2022-03-14 22:18:32 -04:00
..
COFF [lld-link] Tweak winsysroottest.test to have passing links on happy path 2022-03-14 10:44:26 -04:00
ELF [ELF] Move section assignment from initializeSymbols to postParse 2022-03-14 14:13:41 -07:00
MachO [lld-macho] -flat_namespace for dylibs should make all externs interposable 2022-03-14 22:18:32 -04:00
MinGW [LLD][MinGW] Add --heap argument support 2022-01-30 00:01:45 +02:00
Unit [CMake] Rename TARGET_TRIPLE to LLVM_TARGET_TRIPLE 2022-03-11 15:43:01 -08:00
wasm [lld][WebAssembly] Improve error reporting for bad ar archive members 2022-03-01 15:21:53 -08:00
CMakeLists.txt [lld/test] List one test dep per line 2021-12-17 09:51:01 -05:00
lit.cfg.py [lld/tests] Stop setting the "asserts" and "debug" features 2022-01-05 13:39:17 -05:00
lit.site.cfg.py.in [CMake] Rename TARGET_TRIPLE to LLVM_TARGET_TRIPLE 2022-03-11 15:43:01 -08:00