forked from OSchip/llvm-project
17c43c4045
When a library "host"'s reexports change their installName with `$ld$os10.11$install_name$host`, we used to write a load command for "host" but write the version numbers of the reexport instead of "host". This fixes that. I first thought that the rule is to take the version numbers from the library that originally had that install name (implemented in D103819), but that's not what ld64 seems to be doing: It takes the version number from the first dylib with that install name it loads, and it loads the reexporting library before the reexports. We already did most of that, we just added reexports before the reexporter. After this change, we add the reexporter before the reexports. Addresses https://bugs.llvm.org/show_bug.cgi?id=49800#c11 part 1. (ld64 seems to add reexports after processing _all_ files on the command line, while we add them right after the reexporter. For the common case of reexport + $ld$ symbol changing back to the exporter name, this doesn't make a difference, but you can construct a case where it does. I expect this to not make a difference in practice though.) Differential Revision: https://reviews.llvm.org/D103821 |
||
---|---|---|
.. | ||
COFF | ||
Common | ||
ELF | ||
MachO | ||
MinGW | ||
cmake/modules | ||
docs | ||
include/lld | ||
lib | ||
test | ||
tools/lld | ||
unittests | ||
utils | ||
wasm | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
LICENSE.TXT | ||
README.md |
README.md
LLVM Linker (lld)
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
Benchmarking
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f
.