forked from OSchip/llvm-project
b49a798e71
We have this extra step in wasm-ld that doesn't exist in other lld backend which verifies the existing contents of the relocation targets. This was originally intended as an extra form of double checking and an aid to compiler developers. However it has always been somewhat controversial and there have been suggestions in the past the we simply remove it. My motivation for removing it now is that its causing me a headache when trying to fix an issue with negative addends. In the case of negative addends that final result can be wrapped/negative but this checking code would require significant modification to be able to deal with that case. For example with some test cases I'm looking at I'm seeing error like this: ``` wasm-ld: warning: /usr/local/google/home/sbc/dev/wasm/llvm-build/tools/lld/test/wasm/Output/merge-string.s.tmp.o:(.rodata_relocs): unexpected existing value for R_WASM_MEMORY_ADDR_I32: existing=FFFFFFFA expected=FFFFFFFFFFFFFFFA ``` Rather than try to refactor `calcExpectedValue` to somehow return two different types of results (32 and 64-bit) depending on the relocation type, I think we can just remove this code. Differential Revision: https://reviews.llvm.org/D102265 |
||
---|---|---|
.. | ||
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
.