Feng Zou
636beb6a28
[X86][LLD] Handle R_X86_64_CODE_6_GOTTPOFF relocation type (#117675)
For
add %reg1, name@GOTTPOFF(%rip), %reg2
add name@GOTTPOFF(%rip), %reg1, %reg2
{nf} add %reg1, name@GOTTPOFF(%rip), %reg2
{nf} add name@GOTTPOFF(%rip), %reg1, %reg2
{nf} add name@GOTTPOFF(%rip), %reg
add
R_X86_64_CODE_6_GOTTPOFF = 50
in #117277.
Linker can treat R_X86_64_CODE_6_GOTTPOFF as R_X86_64_GOTTPOFF or
convert the instructions above to
add $name@tpoff, %reg1, %reg2
add $name@tpoff, %reg1, %reg2
{nf} add $name@tpoff, %reg1, %reg2
{nf} add $name@tpoff, %reg1, %reg2
{nf} add $name@tpoff, %reg
if the first byte of the instruction at the relocation offset - 6 is
0x62 (namely, encoded w/EVEX prefix) when possible.
Binutils patch: bminor/binutils-gdb@5bc71c2
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2024-February/132351.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/FhEZjCtDLFw/m/VHDjN4orAgAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation
2024-12-05 16:26:26 +08:00
..
2024-12-05 16:26:26 +08:00
2024-11-23 15:16:36 -08:00
2024-10-05 09:37:27 -07:00
2024-11-23 15:16:36 -08:00
2024-10-06 00:31:51 -07:00
2024-11-06 22:04:52 -08:00
2024-10-11 18:35:02 -07:00
2024-02-13 11:29:21 +01:00
2024-11-17 10:16:01 -08:00
2024-11-24 12:13:02 -08:00
2024-11-14 22:17:10 -08:00
2024-11-24 17:23:52 -08:00
2024-10-10 22:22:25 -07:00
2024-04-18 14:41:14 -07:00
2024-11-14 22:50:53 -08:00
2022-08-10 16:47:30 -04:00
2024-11-29 18:26:29 -08:00
2024-09-29 14:45:00 -07:00
2024-12-01 14:18:10 -08:00
2024-11-29 17:18:22 -08:00
2024-12-03 09:17:17 -08:00
2024-11-29 17:18:22 -08:00
2024-11-24 12:13:02 -08:00
2024-11-23 17:14:43 -08:00
2024-11-16 23:50:35 -08:00
2024-11-16 23:50:35 -08:00
2024-11-23 16:34:21 -08:00
2024-09-29 15:39:52 -07:00
2024-11-16 22:34:13 -08:00
2024-09-29 15:32:16 -07:00
2024-10-30 19:25:08 +08:00
2024-11-29 18:37:47 -08:00
2024-11-19 21:59:47 -08:00
2024-12-04 17:35:05 -08:00
2024-12-04 17:35:05 -08:00
2024-11-16 20:32:44 -08:00
2024-11-14 22:17:10 -08:00
2024-11-16 22:34:13 -08:00
2024-09-21 11:06:06 -07:00
2024-12-01 23:07:38 -08:00
2024-11-16 11:58:10 -08:00
2024-11-06 22:33:51 -08:00
2024-10-11 23:34:43 -07:00
2024-12-03 09:17:17 -08:00
2024-11-23 16:34:21 -08:00
2024-11-29 17:18:22 -08:00
2024-11-24 12:13:02 -08:00
2024-11-21 14:26:25 +00:00
2024-11-19 23:16:35 -08:00
2024-12-04 17:35:05 -08:00
2024-11-19 21:59:47 -08:00