aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-aarch64/gc-relocs-tlsdesc.s
blob: 413c51307546b78659c8a7423f765f9d8568f14c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        .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