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.
18 lines
269 B
ArmAsm
18 lines
269 B
ArmAsm
.global p
|
|
.global a
|
|
.section .tbss,"awT",%nobits
|
|
p:
|
|
.zero 4096
|
|
a:
|
|
.zero 52
|
|
|
|
.text
|
|
|
|
# Compute the address of an integer within structure a, padded
|
|
# by an array of size 48
|
|
|
|
mrs x0, tpidr_el0
|
|
add x0, x0, #:tprel_hi12:a+48
|
|
add x0, x0, #:tprel_lo12_nc:a+48
|
|
ret
|