Commit | Line | Data |
---|---|---|
a06ea964 NC |
1 | .global v1 |
2 | .global v2 | |
3 | .section .tdata,"awT",%progbits | |
4 | v1: | |
5 | .word 1 | |
6 | ||
7 | .text | |
8 | ||
9 | # This GD access does not relax. It consumes a double GOT slot. | |
10 | ||
11 | adrp x0, :tlsgd:v2 | |
12 | add x0, x0, :tlsgd_lo12:v2 | |
13 | bl __tls_get_addr | |
14 | nop | |
15 | ||
16 | # Test the combination of a TLSDESC-GD and IE access to the same | |
17 | # symbol. We expect the TLSDESC-GD to relax to IE. | |
18 | ||
19 | adrp x0, :tlsdesc:v1 | |
20 | ldr x1, [x0, #:tlsdesc_lo12:v1] | |
21 | add x0, x0, :tlsdesc_lo12:v1 | |
22 | .tlsdesccall v1 | |
23 | blr x1 | |
24 | mrs x1, tpidr_el0 | |
25 | add x0, x1, x0 | |
26 | ||
27 | mrs x2, tpidr_el0 | |
28 | adrp x0, :gottprel:v1 | |
29 | ldr x0, [x0, #:gottprel_lo12:v1] | |
30 | add x0, x2, x0 | |
31 | ldr w0, [x0] | |
32 | add w0, w1, w0 |