mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
0484b4549e
bfd/ 2015-10-02 Renlin Li <renlin.li@arm.com> * elfnn-aarch64.c (aarch64_tls_transition_without_check): Add relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC, TLSDESC_OFF_G1. (aarch64_tls_transition_without_check): Add relaxation support. (aarch64_reloc_got_type): Add support. (elfNN_aarch64_final_link_relocate): Likewise. (elfNN_aarch64_tls_relax): Likewise. (elfNN_aarch64_relocate_section): Likewise. (elfNN_aarch64_gc_sweep_hook): Likewise. (elfNN_aarch64_check_relocs): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise. (_bfd_aarch64_elf_resolve_relocation): Likewise. ld/testsuite/ 2015-10-02 Renlin Li <renlin.li@arm.com> * ld-aarch64/aarch64-elf.exp: Run new test. * ld-aarch64/tls-large-desc.d: New. * ld-aarch64/tls-large-desc.s: New. * ld-aarch64/tls-relax-large-desc-ie.d: New. * ld-aarch64/tls-relax-large-desc-ie.s: New. * ld-aarch64/tls-relax-large-desc-le.d: New. * ld-aarch64/tls-relax-large-desc-le.s: New.
18 lines
276 B
ArmAsm
18 lines
276 B
ArmAsm
.global var
|
|
.text
|
|
test:
|
|
ldr x1, .Lgot
|
|
adr x2, .Lgot
|
|
add x18, x1, x2
|
|
|
|
movz x0, #:tlsdesc_off_g1:var
|
|
movk x0, #:tlsdesc_off_g0_nc:var
|
|
.tlsdescldr var
|
|
ldr x1, [x18, x0]
|
|
.tlsdescadd var
|
|
add x0, x18, x0
|
|
.tlsdesccall var
|
|
blr x1
|
|
|
|
.Lgot: .xword _GLOBAL_OFFSET_TABLE_ - .
|