This brings back the original version of D81359.
I have found several use cases now.
* Unlike GNU ld, LLD's relocation processing is one pass. If we decide to
optimize(relax) R_X86_64_{,REX_}GOTPCRELX, we will suppress GOT generation and
cannot undo the decision later. Optimizing R_X86_64_REX_GOTPCRELX can usually
make it easy to hit `relocation R_X86_64_REX_GOTPCRELX out of range` because
the distance to GOT is usually shorter. Without --no-relax, the user has to
recompile with `-Wa,-mrelax-relocations=no`.
* The option would help during my investigationg of the root cause of https://git.kernel.org/linus/09e43968db40c33a73e9ddbfd937f46d5c334924
* There is need for relaxation for AArch64 & RISC-V. Implementing this for
x86-64 improves consistency with little target-specific cost (two-line
X86_64.cpp change).
Reviewed By: alexander-shaposhnikov
Differential Revision: https://reviews.llvm.org/D113615
|
||
|---|---|---|
| .. | ||
| ELF | ||
| _static | ||
| _templates | ||
| llvm-theme | ||
| CMakeLists.txt | ||
| NewLLD.rst | ||
| Partitions.rst | ||
| README.txt | ||
| ReleaseNotes.rst | ||
| WebAssembly.rst | ||
| conf.py | ||
| error_handling_script.rst | ||
| hello.png | ||
| index.rst | ||
| ld.lld.1 | ||
| make.bat | ||
| missingkeyfunction.rst | ||
| partitions.dot | ||
| partitions.svg | ||
| windows_support.rst | ||
README.txt
lld Documentation ================= The lld documentation is written using the Sphinx documentation generator. It is currently tested with Sphinx 1.1.3. We currently use the 'nature' theme and a Beaker inspired structure. See sphinx_intro.rst for more details.