* elf32-spu.c (build_stub): Fix malloc under-allocation.
[binutils.git] / ld / testsuite / ld-arm / tls-descrelax-be32.s
blobdae54585b63860d20b6b1b065d2b6e2ab5966d01
1 @ we can relax local and non-weak globals for non-shared links
3 .arch armv5te
4 .text
5 .arm
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)
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)
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)
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)
40 .p2align 2
41 @open coded global, manually relaxed to IE
42 ldr r0, 1f
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)
51 .p2align 2
52 @open coded global, should relax to IE
53 ldr r0, 1f
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)
65 .p2align 2
66 @open coded local, manually relaxed to LE
67 ldr r0, 1f
69 nop
70 nop
71 nop
72 nop
73 .p2align 2
74 1: .word ld1(tpoff)
76 .p2align 2
77 @open coded local, should relax to LE
78 ldr r0, 1f
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)
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)
102 .p2align 1
103 @tlscall global, should relax to IE
104 ldr r0, 1f
105 2: blx gd1(tlscall)
107 .p2align 2
108 1: .word gd1(tlsdesc) + (. - 2b + 1)
110 .p2align 1
111 @tlscall global, should relax to IE
112 ldr r0, 1f
113 2: blx r1(tlscall)
115 .p2align 2
116 1: .word r1(tlsdesc) + (. - 2b + 1)
118 .p2align 1
119 @tlscall local, manually relaxed to LE
120 ldr r0, 1f
123 .p2align 2
124 1: .word ld1(tpoff)
126 .p2align 1
127 @tlscall local, should relax to LE
128 ldr r0, 1f
129 2: blx ld1(tlscall)
131 .p2align 2
132 1: .word ld1(tlsdesc) + (. - 2b + 1)
134 .p2align 1
135 @tlscall local, should relax to LE
136 ldr r0, 1f
137 2: blx r0(tlscall)
139 .p2align 2
140 1: .word r0(tlsdesc) + (. - 2b + 1)
142 .p2align 1
143 @open coded global, manually relaxed to IE
144 ldr r0, 1f
146 add r0, pc
147 ldr r1, [r0]
148 mov r0, r1
150 .p2align 2
151 1: .word gd1(gottpoff) + (. - 2b - 4)
153 .p2align 1
154 @open coded global, should relax to IE
155 ldr r0, 1f
157 .tlsdescseq gd1
158 add r0, pc
159 .tlsdescseq gd1
160 ldr r1, [r0,#4]
161 .tlsdescseq gd1
162 blx r1
164 .p2align 2
165 1: .word gd1(tlsdesc) + (. - 2b + 1)
167 .p2align 1
168 @open coded local, manually relaxed to LE
169 ldr r0, 1f
175 .p2align 2
176 1: .word ld1(tpoff)
178 .p2align 1
179 @open coded local, should relax to LE
180 ldr r0, 1f
182 .tlsdescseq ld1
183 add r0, pc
184 .tlsdescseq ld1
185 ldr r1, [r0,#4]
186 .tlsdescseq ld1
187 blx r1
189 .p2align 2
190 1: .word ld1(tlsdesc) + (. - 2b + 1)
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