diff options
| author | Feng Zou <feng.zou@intel.com> | 2024-11-27 09:25:31 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-27 09:25:31 +0800 |
| commit | 73d1abb018fdd60664b49c3418572c2e04e18d41 (patch) | |
| tree | 18500e0f6d4b28952d16f25cbc02257fa23067b3 /llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp | |
| parent | dd4844722d98a97edd180e20abd4e65e1e2dd9d7 (diff) | |
| download | llvm-73d1abb018fdd60664b49c3418572c2e04e18d41.zip llvm-73d1abb018fdd60664b49c3418572c2e04e18d41.tar.gz llvm-73d1abb018fdd60664b49c3418572c2e04e18d41.tar.bz2 | |
[X86][LLD] Handle R_X86_64_CODE_4_GOTTPOFF relocation type (#116634)
For
mov name@GOTTPOFF(%rip), %reg
add name@GOTTPOFF(%rip), %reg
add
`R_X86_64_CODE_4_GOTTPOFF` = 44
in #116633.
Linker can treat `R_X86_64_CODE_4_GOTTPOFF` as `R_X86_64_GOTTPOFF` or
convert the instructions above to
mov $name, %reg
add $name, %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 'llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp')
0 files changed, 0 insertions, 0 deletions
