mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
bb3f9ed8ba
bfd/ * elf64-aarch64.c (elf64_aarch64_tls_howto_table): Fix shift value for R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, R_AARCH64_TLSLE_MOVW_TPREL_G2, R_AARCH64_TLSLE_MOVW_TPREL_G1, R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, R_AARCH64_TLSLE_ADD_TPREL_HI12. (elf64_aarch64_tlsdesc_howto_table): Fix shift value for R_AARCH64_TLSDESC_LD64_PREL19 and R_AARCH64_TLSDESC_OFF_G1. (elf64_aarch64_final_link_relocate): Add signed_addend when resolving AARCH64_TLSLE_*_TPREL_* relocations. ld/testsuite/ * ld-aarch64/tlsle-symbol-offset.s: New file. * ld-aarch64/tlsle-symbol-offset.d: New file. * ld-aarch64/aarch64-elf.exp: Add tlsle-symbol-offset test.
12 lines
279 B
Makefile
12 lines
279 B
Makefile
#source: tlsle-symbol-offset.s
|
|
#ld: -shared -T relocs.ld -e0
|
|
#objdump: -dr
|
|
#...
|
|
Disassembly of section .text:
|
|
|
|
0000000000010000 <.text>:
|
|
+10000: d53bd040 mrs x0, tpidr_el0
|
|
+10004: 91400400 add x0, x0, #0x1, lsl #12
|
|
+10008: 91010000 add x0, x0, #0x40
|
|
+1000c: d65f03c0 ret
|