aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-aarch64/tls-relax-all.s
blob: 1bef53ddab4bcc41669122fd6beb889cc9cfd564 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
	.global	gdesc_var_1
	.global	gd_var_1
	.section	.tdata,"awT",%progbits
gdesc_var_1:
	.word	1
gdesc_var_2:
	.word	2
gd_var_1:
	.word	3
gd_var_2:
	.word	4
ie_var:
	.word	5
	.text
	stp	x29, x30, [sp, -16]!
	add	x29, sp, 0
	adrp	x0, :tlsdesc:gdesc_var_1
	ldr	x1, [x0, #:tlsdesc_lo12:gdesc_var_1]
	add	x0, x0, :tlsdesc_lo12:gdesc_var_1
	.tlsdesccall	gdesc_var_1
	blr	x1
	mrs	x1, tpidr_el0
	add	x0, x1, x0
	ldr	w1, [x0]
	adrp	x0, :tlsdesc:gdesc_var_2
	ldr	x2, [x0, #:tlsdesc_lo12:gdesc_var_2]
	add	x0, x0, :tlsdesc_lo12:gdesc_var_2
	.tlsdesccall	gdesc_var_2
	blr	x2
	mrs	x2, tpidr_el0
	add	x0, x2, x0
	ldr	w0, [x0]
	add	w1, w1, w0
	adrp	x0, :tlsgd:gd_var_1
	add	x0, x0, :tlsgd_lo12:gd_var_1
	bl	__tls_get_addr
	nop
	ldr	w0, [x0]
	add	w1, w1, w0
	adrp	x0, :tlsgd:gd_var_2
	add	x0, x0, :tlsgd_lo12:gd_var_2
	bl	__tls_get_addr
	nop
	ldr	w0, [x0]
	add	w1, w1, w0
	mrs	x2, tpidr_el0
	adrp	x0, :gottprel:ie_var
	ldr	x0, [x0, #:gottprel_lo12:ie_var]
	add	x0, x2, x0
	ldr	w0, [x0]
	add	w0, w1, w0