bfd/
[deliverable/binutils-gdb.git] / ld / testsuite / ld-arm / tls-descrelax-be8.s
1 @ we can relax local and non-weak globals for non-shared links
2
3 .arch armv7-a
4 .text
5 .arm
6
7 .p2align 2
8 foo:
9 @tlscall global, manually relaxed to IE
10 ldr r0, 1f
11 2: ldr r0, [pc, r0]
12 nop
13 .p2align 2
14 1: .word gd1(gottpoff) + (. - 2b - 8)
15
16 .p2align 2
17 @tlscall global, should relax to IE
18 ldr r0, 1f
19 2: blx gd1(tlscall)
20 nop
21 .p2align 2
22 1: .word gd1(tlsdesc) + (. - 2b)
23
24 .p2align 2
25 @tlscall local, manually relaxed to LE
26 ldr r0, 1f
27 nop
28 nop
29 .p2align 2
30 1: .word ld1(tpoff)
31
32 .p2align 2
33 @tlscall local, should relax to LE
34 ldr r0, 1f
35 2: blx ld1(tlscall)
36 nop
37 .p2align 2
38 1: .word ld1(tlsdesc) + (. - 2b)
39
40 .p2align 2
41 @open coded global, manually relaxed to IE
42 ldr r0, 1f
43 2:
44 add r0, pc, r0
45 ldr r1, [r0]
46 mov r0, r1
47 nop
48 .p2align 2
49 1: .word gd1(gottpoff) + (. - 2b - 8)
50
51 .p2align 2
52 @open coded global, should relax to IE
53 ldr r0, 1f
54 2:
55 .tlsdescseq gd1
56 add r0, pc, r0
57 .tlsdescseq gd1
58 ldr r1, [r0,#4]
59 .tlsdescseq gd1
60 blx r1
61 nop
62 .p2align 2
63 1: .word gd1(tlsdesc) + (. - 2b)
64
65 .p2align 2
66 @open coded local, manually relaxed to LE
67 ldr r0, 1f
68 2:
69 nop
70 nop
71 nop
72 nop
73 .p2align 2
74 1: .word ld1(tpoff)
75
76 .p2align 2
77 @open coded local, should relax to LE
78 ldr r0, 1f
79 2:
80 .tlsdescseq ld1
81 add r0, pc, r0
82 .tlsdescseq ld1
83 ldr r1, [r0,#4]
84 .tlsdescseq ld1
85 blx r1
86 nop
87 .p2align 2
88 1: .word ld1(tlsdesc) + (. - 2b)
89
90
91 .thumb
92 .p2align 1
93 bar:
94 @tlscall global, manually relaxed to IE
95 ldr r0, 1f
96 2: add r0, pc, r0
97 ldr r0, [r0]
98 nop
99 .p2align 2
100 1: .word gd1(gottpoff) + (. - 2b - 4)
101
102 .p2align 1
103 @tlscall global, should relax to IE
104 ldr r0, 1f
105 2: blx gd1(tlscall)
106 nop
107 .p2align 2
108 1: .word gd1(tlsdesc) + (. - 2b + 1)
109
110 .p2align 1
111 @tlscall global, should relax to IE
112 ldr r0, 1f
113 2: blx r1(tlscall)
114 nop
115 .p2align 2
116 1: .word r1(tlsdesc) + (. - 2b + 1)
117
118 .p2align 1
119 @tlscall local, manually relaxed to LE
120 ldr r0, 1f
121 nop
122 nop
123 .p2align 2
124 1: .word ld1(tpoff)
125
126 .p2align 1
127 @tlscall local, should relax to LE
128 ldr r0, 1f
129 2: blx ld1(tlscall)
130 nop
131 .p2align 2
132 1: .word ld1(tlsdesc) + (. - 2b + 1)
133
134 .p2align 1
135 @tlscall local, should relax to LE
136 ldr r0, 1f
137 2: blx r0(tlscall)
138 nop
139 .p2align 2
140 1: .word r0(tlsdesc) + (. - 2b + 1)
141
142 .p2align 1
143 @open coded global, manually relaxed to IE
144 ldr r0, 1f
145 2:
146 add r0, pc
147 ldr r1, [r0]
148 mov r0, r1
149 nop
150 .p2align 2
151 1: .word gd1(gottpoff) + (. - 2b - 4)
152
153 .p2align 1
154 @open coded global, should relax to IE
155 ldr r0, 1f
156 2:
157 .tlsdescseq gd1
158 add r0, pc
159 .tlsdescseq gd1
160 ldr r1, [r0,#4]
161 .tlsdescseq gd1
162 blx r1
163 nop
164 .p2align 2
165 1: .word gd1(tlsdesc) + (. - 2b + 1)
166
167 .p2align 1
168 @open coded local, manually relaxed to LE
169 ldr r0, 1f
170 2:
171 nop
172 nop
173 nop
174 nop
175 .p2align 2
176 1: .word ld1(tpoff)
177
178 .p2align 1
179 @open coded local, should relax to LE
180 ldr r0, 1f
181 2:
182 .tlsdescseq ld1
183 add r0, pc
184 .tlsdescseq ld1
185 ldr r1, [r0,#4]
186 .tlsdescseq ld1
187 blx r1
188 nop
189 .p2align 2
190 1: .word ld1(tlsdesc) + (. - 2b + 1)
191
192 .section .tdata,"awT"
193 .global gd1
194 gd1: .space 4
195 ld1: .space 4
196 .globl r1
197 r1: .space 4
198 r0: .space 4
This page took 0.054127 seconds and 5 git commands to generate.