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