Commit | Line | Data |
---|---|---|
0855e32b NS |
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 |