Commit | Line | Data |
---|---|---|
a06ea964 NC |
1 | .global gdesc_var_1 |
2 | .global gd_var_1 | |
3 | .section .tdata,"awT",%progbits | |
4 | gdesc_var_1: | |
5 | .word 1 | |
6 | gdesc_var_2: | |
7 | .word 2 | |
8 | gd_var_1: | |
9 | .word 3 | |
10 | gd_var_2: | |
11 | .word 4 | |
12 | ie_var: | |
13 | .word 5 | |
14 | .text | |
15 | stp x29, x30, [sp, -16]! | |
16 | add x29, sp, 0 | |
17 | adrp x0, :tlsdesc:gdesc_var_1 | |
18 | ldr x1, [x0, #:tlsdesc_lo12:gdesc_var_1] | |
19 | add x0, x0, :tlsdesc_lo12:gdesc_var_1 | |
20 | .tlsdesccall gdesc_var_1 | |
21 | blr x1 | |
22 | mrs x1, tpidr_el0 | |
23 | add x0, x1, x0 | |
24 | ldr w1, [x0] | |
25 | adrp x0, :tlsdesc:gdesc_var_2 | |
26 | ldr x2, [x0, #:tlsdesc_lo12:gdesc_var_2] | |
27 | add x0, x0, :tlsdesc_lo12:gdesc_var_2 | |
28 | .tlsdesccall gdesc_var_2 | |
29 | blr x2 | |
30 | mrs x2, tpidr_el0 | |
31 | add x0, x2, x0 | |
32 | ldr w0, [x0] | |
33 | add w1, w1, w0 | |
34 | adrp x0, :tlsgd:gd_var_1 | |
35 | add x0, x0, :tlsgd_lo12:gd_var_1 | |
36 | bl __tls_get_addr | |
37 | nop | |
38 | ldr w0, [x0] | |
39 | add w1, w1, w0 | |
40 | adrp x0, :tlsgd:gd_var_2 | |
41 | add x0, x0, :tlsgd_lo12:gd_var_2 | |
42 | bl __tls_get_addr | |
43 | nop | |
44 | ldr w0, [x0] | |
45 | add w1, w1, w0 | |
46 | mrs x2, tpidr_el0 | |
47 | adrp x0, :gottprel:ie_var | |
48 | ldr x0, [x0, #:gottprel_lo12:ie_var] | |
49 | add x0, x2, x0 | |
50 | ldr w0, [x0] | |
51 | add w0, w1, w0 |