Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-arm / tls-descrelax-be32.s
1 @ we can relax local and non-weak globals for non-shared links
2
3         .arch   armv5te
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