cb8af559c1
elf64_aarch64_locals to get local GOT reference counts. * ld-aarch64/gc-relocs-tlsle.s: New gc section test. * ld-aarch64/gc-relocs-tlsle.s: Likewise * ld-aarch64/gc-relocs-tlsgd.s: Likewise * ld-aarch64/gc-relocs-tlsdesc.s: Likewise * ld-aarch64/gc-relocs-312.s: Likewise * ld-aarch64/gc-relocs-311.s: Likewise * ld-aarch64/gc-relocs-309.s: Likewise * ld-aarch64/gc-start.s: Likewise * ld-aarch64/gc-got-relocs.d: Update expected objdump * ld-aarch64/gc-tls-relocs.d: Likewise * ld-aarch64/aarch64-elf.exp: add test
38 lines
1.1 KiB
ArmAsm
38 lines
1.1 KiB
ArmAsm
.global tlsdescvar
|
|
.section .tbss,"awT",%nobits
|
|
.align 2
|
|
.type tlsdescvar, %object
|
|
.size tlsdescvar, 4
|
|
tlsdescvar:
|
|
.zero 4
|
|
|
|
.align 2
|
|
.type l_tlsdescvar, %object
|
|
.size l_tlsdescvar, 4
|
|
l_tlsdescvar:
|
|
.zero 4
|
|
.text
|
|
_test_tls_desc:
|
|
|
|
// R_AARCH64_TLSDESC_ADR_PAGE tlsdescvar
|
|
adrp x0, :tlsdesc:tlsdescvar
|
|
// R_AARCH64_TLSDESC_LD64_LO12 tlsdescvar
|
|
ldr x1, [x0, :tlsdesc_lo12:tlsdescvar]
|
|
// R_AARCH64_TLSDESC_ADD_LO12 tlsdescvar
|
|
add x0, x0, :tlsdesc_lo12:tlsdescvar
|
|
// R_AARCH64_TLSDESC_CALL tlsdescvar
|
|
.tlsdesccall tlsdescvar
|
|
blr x1
|
|
|
|
_test_tls_desc_local:
|
|
|
|
// R_AARCH64_TLSDESC_ADR_PAGE l_tlsdescvar
|
|
adrp x0, :tlsdesc:l_tlsdescvar
|
|
// R_AARCH64_TLSDESC_LD64_LO12 l_tlsdescvar
|
|
ldr x1, [x0, :tlsdesc_lo12:l_tlsdescvar]
|
|
// R_AARCH64_TLSDESC_ADD_LO12 l_tlsdescvar
|
|
add x0, x0, :tlsdesc_lo12:l_tlsdescvar
|
|
// R_AARCH64_TLSDESC_CALL l_tlsdescvar
|
|
.tlsdesccall l_tlsdescvar
|
|
blr x1
|
|
|