aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Serialization/InMemoryModuleCacheTest.cpp
diff options
context:
space:
mode:
authorFeng Zou <feng.zou@intel.com>2024-11-21 16:13:11 +0800
committerGitHub <noreply@github.com>2024-11-21 16:13:11 +0800
commit6f76b2a3c010cd25acf4efb56cbde2a678b6242c (patch)
treed476d968bbfa05e5eb3c2e7956e74fc891db77e4 /clang/unittests/Serialization/InMemoryModuleCacheTest.cpp
parent46f43b6d92e49b80df13e8a537a95767ffbaac9f (diff)
downloadllvm-6f76b2a3c010cd25acf4efb56cbde2a678b6242c.zip
llvm-6f76b2a3c010cd25acf4efb56cbde2a678b6242c.tar.gz
llvm-6f76b2a3c010cd25acf4efb56cbde2a678b6242c.tar.bz2
[X86][MC] Add R_X86_64_CODE_4_GOTTPOFF (#116633)
For mov name@GOTTPOFF(%rip), %reg add name@GOTTPOFF(%rip), %reg add `R_X86_64_CODE_4_GOTTPOFF` = 44 if the instruction starts at 4 bytes before the relocation offset. It's similar to R_X86_64_GOTTPOFF. Linker can treat `R_X86_64_CODE_4_GOTTPOFF` as `R_X86_64_GOTTPOFF` or convert the instructions above to mov $name@tpoff, %reg add $name@tpoff, %reg if the first byte of the instruction at the relocation `offset - 4` is `0xd5` (namely, encoded w/REX2 prefix) when possible. Binutils patch: https://github.com/bminor/binutils-gdb/commit/a533c8df598b5ef99c54a13e2b137c98b34b043c Binutils mailthread: https://sourceware.org/pipermail/binutils/2023-December/131463.html ABI discussion: https://groups.google.com/g/x86-64-abi/c/ACwD-UQXVDs/m/vrgTenKyFwAJ Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation
Diffstat (limited to 'clang/unittests/Serialization/InMemoryModuleCacheTest.cpp')
0 files changed, 0 insertions, 0 deletions