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-06-07 17:56:35 -07:00
2024-04-18 14:41:14 -07:00
2024-12-05 16:26:26 +08:00
2024-11-29 18:37:47 -08:00
2024-11-22 10:35:38 +08:00
2024-11-17 11:27:05 -08:00
2024-07-22 09:03:05 -07:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-05-21 17:34:17 +01:00
2024-11-10 15:04:21 +03:00
2024-11-18 08:07:33 +03:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-08-22 09:12:11 -07:00
2024-11-17 11:27:05 -08:00
2024-11-17 11:27:05 -08:00
2024-09-10 12:38:32 +01:00
2024-07-22 09:03:05 -07:00
2024-11-21 14:26:25 +00:00
2024-11-19 10:49:01 +00:00
2024-05-12 21:15:36 -07:00
2024-07-22 09:03:05 -07:00
2024-11-17 11:27:05 -08:00
2024-03-27 14:08:59 -07:00
2024-03-29 23:36:50 -07:00
2024-03-06 22:50:37 -08:00
2023-09-21 12:00:45 +02:00
2024-07-23 09:44:00 -07:00
2024-05-15 15:41:20 -07:00
2024-11-07 09:30:20 -08:00
2024-11-07 09:30:20 -08:00
2024-05-27 11:21:12 -07:00
2023-06-22 16:10:18 +01:00
2024-08-07 10:20:26 +01:00
2024-11-25 08:51:27 +00:00
2023-06-22 16:10:18 +01:00
2022-07-26 09:35:30 +01:00
2023-06-22 16:10:18 +01:00
2023-06-22 16:10:18 +01:00
2024-05-29 13:28:32 -07:00
2024-07-03 14:24:08 +02:00
2024-07-03 14:24:08 +02:00
2024-07-03 14:24:08 +02:00
2019-09-16 07:05:34 +00:00
2023-02-24 11:16:42 +08:00
2024-05-23 09:18:32 +08:00
2024-08-30 10:50:56 -04:00
2024-07-22 09:03:05 -07:00
2023-05-02 09:34:48 +08:00
2020-07-31 11:50:55 -07:00
2020-07-31 11:50:55 -07:00
2024-07-02 11:00:42 -07:00
2020-03-04 12:22:12 -08:00
2021-09-20 09:35:12 -07:00
2024-07-11 17:26:12 -04:00
2024-02-13 11:29:21 +01:00
2022-11-07 18:28:33 +01:00
2019-05-01 05:49:01 +00:00
2024-06-10 10:14:44 -07:00
2024-08-08 00:57:43 -07:00
2022-10-21 09:43:25 -07:00
2022-03-15 19:24:41 -07:00
2022-09-12 12:56:35 -07:00
2024-06-07 14:19:06 -07:00
2020-02-19 22:01:42 -08:00
2024-05-22 15:55:21 -07:00
2022-05-27 12:08:24 +01:00
2024-05-22 15:40:24 -07:00
2024-05-22 15:55:21 -07:00
2019-10-10 23:35:53 +00:00
2023-07-19 08:34:26 -07:00
2024-05-23 23:12:25 -07:00
2020-02-05 10:25:04 -08:00
2022-07-08 14:04:19 -07:00
2022-09-09 10:18:46 -07:00
2021-02-12 21:00:42 -08:00
2021-02-12 21:00:42 -08:00
2021-10-31 13:12:26 -07:00
2018-07-02 17:48:23 +00:00
2024-08-01 10:22:03 -07:00
2024-08-08 12:02:44 -07:00
2023-12-21 18:59:11 -08:00
2020-08-06 15:30:08 -07:00
2023-12-21 18:59:11 -08:00
2024-04-18 16:39:54 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-04-18 14:41:14 -07:00
2024-08-01 10:22:03 -07:00
2020-03-06 13:59:58 +03:00
2020-03-27 11:56:02 -07:00
2017-11-22 22:00:50 +00:00
2024-07-28 12:38:10 -07:00
2024-07-12 12:43:53 -07:00
2024-04-18 14:41:14 -07:00
2024-05-03 09:26:05 -07:00
2017-09-08 18:53:43 +00:00
2019-08-13 05:08:46 +00:00
2021-02-13 10:32:27 -08:00
2024-07-03 14:24:08 +02:00
2020-05-15 11:07:25 -07:00
2019-05-01 06:02:16 +00:00
2023-12-08 18:09:45 +05:30
2024-07-16 15:01:27 -05:00
2024-05-16 17:52:08 +08:00
2020-03-04 10:48:36 -08:00
2024-08-20 19:21:13 -07:00
2024-08-20 19:21:13 -07:00
2022-02-27 20:47:37 +00:00
2024-08-20 11:25:49 +03:00
2024-03-27 20:01:30 -07:00
2022-01-06 00:43:46 -08:00
2024-07-03 14:24:08 +02:00
2023-09-16 00:41:23 -07:00
2019-12-10 09:00:58 -08:00
2024-07-03 14:24:08 +02:00
2023-07-19 08:34:26 -07:00
2020-11-12 09:59:43 -08:00
2024-07-27 16:19:57 -07:00
2024-08-01 10:22:03 -07:00
2019-01-08 10:50:59 +00:00
2021-02-12 21:00:42 -08:00
2022-10-29 15:40:26 -07:00
2024-07-03 09:19:18 -07:00
2024-07-03 09:19:18 -07:00
2019-05-01 05:49:01 +00:00
2022-10-29 15:40:26 -07:00
2024-09-13 17:10:03 -05:00
2024-11-19 09:27:01 -06:00
2024-10-11 14:31:41 -05:00
2024-11-19 09:27:01 -06:00
2024-08-21 16:23:05 +00:00
2023-12-07 12:43:40 -08:00
2024-08-01 10:22:03 -07:00
2018-07-02 17:48:23 +00:00
2024-08-01 10:22:03 -07:00
2024-09-18 23:06:12 -07:00
2020-03-06 13:59:58 +03:00
2018-08-08 14:50:33 +00:00
2018-07-02 17:48:23 +00:00
2018-06-01 21:51:21 +00:00
2021-10-25 14:01:36 -07:00
2022-02-15 09:38:00 -08:00
2024-11-24 11:30:21 -08:00
2020-01-21 10:05:26 +00:00
2020-01-21 10:05:26 +00:00
2020-01-21 10:05:26 +00:00
2020-01-21 10:05:26 +00:00
2024-11-29 13:00:36 -08:00
2024-11-29 13:00:36 -08:00
2024-06-14 23:20:50 -07:00
2022-09-14 14:57:47 -04:00
2020-02-26 17:36:59 -08:00
2019-07-18 16:47:29 +00:00
2024-06-04 09:00:14 +08:00
2024-07-26 14:38:36 +08:00
2024-07-26 14:38:36 +08:00
2024-07-19 17:48:47 +08:00
2024-06-14 15:11:59 +08:00
2024-07-26 14:38:36 +08:00
2024-06-14 15:11:59 +08:00
2024-11-23 12:46:35 -08:00
2024-11-23 14:32:32 -08:00
2023-05-02 09:35:00 -07:00
2024-05-20 00:13:09 -07:00
2019-09-22 16:26:39 +00:00
2024-05-12 21:15:36 -07:00
2022-10-29 15:40:26 -07:00
2016-10-04 15:19:20 +00:00
2020-03-05 09:59:53 -08:00
2024-05-15 15:41:20 -07:00
2022-10-29 15:40:26 -07:00
2018-07-02 17:48:23 +00:00
2018-07-02 17:48:23 +00:00
2024-07-03 14:24:08 +02:00
2018-07-02 17:48:23 +00:00
2019-05-03 00:35:49 +00:00
2019-05-01 05:49:01 +00:00
2019-05-01 05:49:01 +00:00
2019-05-01 05:49:01 +00:00
2019-05-01 05:49:01 +00:00
2023-11-15 23:42:59 -08:00
2020-08-05 09:10:01 -07:00
2024-07-16 10:28:09 -07:00
2024-07-12 14:34:17 -04:00
2021-02-13 10:32:27 -08:00
2024-12-04 17:35:05 -08:00
2024-11-17 11:27:05 -08:00
2024-12-05 16:26:26 +08:00
2024-07-22 09:03:05 -07:00
2019-05-29 03:55:20 +00:00
2024-07-03 09:19:18 -07:00
2024-04-19 09:21:57 -07:00
2024-07-03 14:24:08 +02:00
2024-09-16 13:12:45 -07:00
2021-10-24 18:29:45 -07:00
2024-04-18 14:41:14 -07:00
2024-05-15 15:41:20 -07:00
2023-06-05 12:18:29 -04:00
2024-11-13 22:24:19 -05:00
2024-05-15 15:41:20 -07:00
2020-02-12 21:54:50 -08:00
2024-05-15 15:41:20 -07:00
2023-09-11 00:26:22 -07:00
2024-07-02 10:58:24 -07:00
2022-10-29 15:40:26 -07:00
2019-05-01 05:49:01 +00:00
2019-09-09 03:35:14 +00:00
2024-07-03 14:24:08 +02:00
2019-05-01 05:49:01 +00:00
2024-06-07 14:19:06 -07:00
2024-08-01 10:22:03 -07:00
2024-08-01 10:22:03 -07:00
2021-07-16 10:02:47 -07:00
2019-05-01 05:49:01 +00:00
2020-03-15 17:48:36 -07:00
2020-03-04 10:48:36 -08:00
2022-10-29 15:40:26 -07:00
2022-10-29 15:40:26 -07:00
2019-09-10 12:28:07 +00:00
2019-09-16 07:05:34 +00:00
2023-09-14 10:33:11 -07:00
2020-03-06 13:59:58 +03:00
2019-09-16 07:05:34 +00:00
2024-03-27 20:01:30 -07:00
2024-07-12 14:34:17 -04:00
2018-07-02 17:48:23 +00:00
2024-07-12 14:34:17 -04:00
2024-11-24 17:23:52 -08:00
2024-11-22 10:35:38 +08:00
2024-04-26 11:27:28 -07:00
2024-04-26 11:27:28 -07:00
2024-05-15 15:41:20 -07:00
2024-04-26 11:27:28 -07:00
2024-04-26 11:27:28 -07:00
2024-10-08 12:45:01 +01:00
2024-10-08 12:45:01 +01:00
2024-08-19 17:51:46 +01:00
2024-05-03 23:59:30 -07:00
2024-07-11 17:59:00 -07:00
2024-08-19 17:51:46 +01:00
2024-07-03 14:24:08 +02:00
2024-07-03 14:24:08 +02:00
2024-07-03 14:24:08 +02:00
2024-07-03 14:24:08 +02:00
2021-09-25 11:57:54 -07:00
2021-05-22 17:48:45 -07:00
2019-09-16 07:05:34 +00:00
2019-05-01 05:49:01 +00:00
2018-12-18 22:30:23 +00:00
2019-09-06 15:10:31 +00:00
2019-05-01 05:49:01 +00:00
2024-12-03 18:51:20 +01:00
2024-12-03 18:51:20 +01:00
2024-07-15 10:39:23 +02:00
2024-12-03 18:51:20 +01:00
2024-12-03 18:51:20 +01:00
2024-12-03 18:51:20 +01:00
2019-05-01 05:49:01 +00:00
2020-09-24 15:02:48 -07:00
2020-03-31 15:25:01 -07:00
2024-12-05 16:26:26 +08:00
2024-11-29 13:00:36 -08:00
2024-05-12 21:15:36 -07:00
2024-11-29 13:00:36 -08:00
2020-02-12 21:54:50 -08:00
2019-03-12 11:10:29 +00:00
2024-11-29 13:00:36 -08:00
2018-07-02 17:48:23 +00:00
2020-02-12 21:54:50 -08:00
2023-08-08 20:25:10 -07:00
2020-06-05 15:59:54 -07:00
2019-10-17 10:23:59 +00:00
2022-12-08 01:41:18 +00:00
2022-12-08 01:41:18 +00:00
2024-10-10 16:51:27 -07:00
2022-12-08 01:41:18 +00:00
2021-02-13 10:32:27 -08:00
2021-08-04 23:52:56 -07:00
2023-11-03 20:40:46 -07:00
2017-07-04 14:59:28 +00:00
2021-07-31 18:57:19 -07:00
2024-10-10 16:51:27 -07:00
2021-04-20 11:23:10 -07:00
2021-02-13 10:32:27 -08:00
2019-05-01 05:49:01 +00:00
2024-07-07 10:30:33 -07:00
2021-10-31 12:10:43 -07:00
2019-07-18 09:17:11 +00:00
2017-10-03 12:23:46 +00:00
2019-08-06 14:03:45 +00:00
2024-07-03 14:24:08 +02:00
2024-07-10 18:38:52 -07:00
2024-11-20 21:02:44 +08:00
2024-11-20 21:02:44 +08:00
2024-06-20 20:52:07 -07:00
2024-11-20 21:02:44 +08:00
2024-12-05 16:26:26 +08:00
2024-12-05 16:26:26 +08:00
2024-11-27 09:31:12 +08:00
2017-12-28 00:23:49 +00:00
2024-07-31 12:57:23 -07:00
2019-05-01 05:49:01 +00:00