llvm-project/lld/docs
Fangrui Song a05384dc89 [ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization
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
2021-11-12 09:47:31 -08:00
..
ELF [ELF] Add OVERWRITE_SECTIONS command 2021-06-13 12:41:11 -07:00
_static
_templates
llvm-theme
CMakeLists.txt
NewLLD.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
Partitions.rst docs: Update partitioning docs now that the feature is fully landed. 2019-06-07 19:23:19 +00:00
README.txt
ReleaseNotes.rst [ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization 2021-11-12 09:47:31 -08:00
WebAssembly.rst [NFC] Inclusive language: Remove instances of master in URLs 2021-11-05 08:48:41 -05:00
conf.py Bump the trunk major version to 14 2021-07-27 21:58:25 -07:00
error_handling_script.rst [lld] Provide a hook to customize undefined symbols error handling 2020-11-09 13:28:48 +01:00
hello.png
index.rst [docs] Remove outdated documentation for the legacy Atom-based LLD 2021-11-08 15:20:16 -08:00
ld.lld.1 [ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization 2021-11-12 09:47:31 -08:00
make.bat
missingkeyfunction.rst
partitions.dot Add IR support, ELF section and user documentation for partitioning feature. 2019-05-29 03:29:01 +00:00
partitions.svg Add IR support, ELF section and user documentation for partitioning feature. 2019-05-29 03:29:01 +00:00
windows_support.rst [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00

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.