old-cross-binutils/ld/testsuite/ld-aarch64/gc-relocs-tlsdesc.s
Nick Clifton cb8af559c1 * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
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
2013-04-03 14:21:18 +00:00

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