mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-02 18:58:15 +00:00
a05384dc89
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 |
||
---|---|---|
.. | ||
AArch64.cpp | ||
AMDGPU.cpp | ||
ARM.cpp | ||
AVR.cpp | ||
Hexagon.cpp | ||
Mips.cpp | ||
MipsArchTree.cpp | ||
MSP430.cpp | ||
PPC64.cpp | ||
PPC.cpp | ||
PPCInsns.def | ||
RISCV.cpp | ||
SPARCV9.cpp | ||
X86_64.cpp | ||
X86.cpp |