]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/testsuite/ld-s390/tlspic1.s
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-s390 / tlspic1.s
CommitLineData
6c597796 1 .section ".tdata", "awT", @progbits
8c37241b 2 .balign 32
6c597796
MS
3 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
4 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
5 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
6sg1: .long 17
7sg2: .long 18
8sg3: .long 19
9sg4: .long 20
10sg5: .long 21
11sg6: .long 22
12sg7: .long 23
13sg8: .long 24
14sl1: .long 65
15sl2: .long 66
16sl3: .long 67
17sl4: .long 68
18sl5: .long 69
19sl6: .long 70
20sl7: .long 71
21sl8: .long 72
22sh1: .long 257
23sh2: .long 258
24sh3: .long 259
25sh4: .long 260
26sh5: .long 261
27sh6: .long 262
28sh7: .long 263
29sh8: .long 264
30 .text
31 .globl fn1
32 .type fn1,@function
8c37241b 33 .balign 64
6c597796 34fn1:
15a086be 35 /* Function prolog */
6c597796
MS
36 stm %r6,%r14,24(%r15)
37 bras %r13,.LTN1
38 /* Literal pool */
39.LT1:
40.LC0:
41 .long _GLOBAL_OFFSET_TABLE_-.LT1
42.LC1:
43 .long __tls_get_offset@plt-.LT1
44.LC2:
45 .long sg1@tlsgd
46.LC3:
47 .long sg2@tlsgd
48.LC4:
49 .long sl1@tlsgd
50.LC5:
51 .long sl2@tlsgd
52.LC6:
53 .long sh1@tlsgd
54.LC7:
55 .long sh2@tlsgd
56.LC8:
57 .long sH1@tlsgd
58.LC9:
59 .long sH2@tlsgd
60.LC10:
61 .long sl1@tlsldm
62.LC11:
63 .long sl1@dtpoff
64.LC12:
65 .long sl2@dtpoff
66.LC13:
67 .long sh1@tlsldm
68.LC14:
69 .long sh1@dtpoff
70.LC15:
71 .long sh2@dtpoff
72.LC16:
73 .long sH1@tlsldm
74.LC17:
75 .long sH1@dtpoff
76.LC18:
77 .long sH2@dtpoff
78.LC19:
79 .long sg2@gotntpoff
80.LC20:
81 .long sl2@gotntpoff
82.LC21:
83 .long sh2@gotntpoff
84.LC22:
85 .long sH2@gotntpoff
86.LTN1:
15a086be 87 /* Function prolog */
6c597796
MS
88 lr %r14,%r15
89 l %r12,.LC0-.LT1(%r13)
90 ahi %r15,-96
91 la %r12,0(%r12,%r13)
92 st %r14,0(%r14)
93
94 /* Extract TCB and load branch offset */
95 ear %r9,%a0
96 l %r7,.LC1-.LT1(%r13)
97
98 /* GD */
99 l %r2,.LC2-.LT1(%r13)
100 bas %r14,0(%r7,%r13):tls_gdcall:sg1
101 la %r2,0(%r2,%r9)
102
103 /* GD -> IE because variable is referenced through IE too */
104 l %r2,.LC3-.LT1(%r13)
105 bas %r14,0(%r7,%r13):tls_gdcall:sg2
106 la %r2,0(%r2,%r9)
107
108 /* GD against local variable */
109 l %r2,.LC4-.LT1(%r13)
110 bas %r14,0(%r7,%r13):tls_gdcall:sl1
111 la %r2,0(%r2,%r9)
112
113 /* GD -> IE against local variable referenced through IE too */
114 l %r2,.LC5-.LT1(%r13)
115 bas %r14,0(%r7,%r13):tls_gdcall:sl2
116 la %r2,0(%r2,%r9)
117
118 /* GD against hidden and local variable */
119 l %r2,.LC6-.LT1(%r13)
120 bas %r14,0(%r7,%r13):tls_gdcall:sh1
121 la %r2,0(%r2,%r9)
122
123 /* GD -> IE against hidden and local variable referenced through
124 IE too */
125 l %r2,.LC7-.LT1(%r13)
126 bas %r14,0(%r7,%r13):tls_gdcall:sh2
127 la %r2,0(%r2,%r9)
128
129 /* GD against hidden but not local variable */
130 l %r2,.LC8-.LT1(%r13)
131 bas %r14,0(%r7,%r13):tls_gdcall:sH1
132 la %r2,0(%r2,%r9)
133
134 /* GD -> IE against hidden but not local variable referenced through
135 IE too */
136 l %r2,.LC9-.LT1(%r13)
137 bas %r14,0(%r7,%r13):tls_gdcall:sH2
138 la %r2,0(%r2,%r9)
139
140 /* LD */
141 l %r2,.LC10-.LT1(%r13)
142 bas %r14,0(%r7,%r13):tls_ldcall:sl1
143 la %r3,0(%r2,%r9)
144 l %r4,.LC11-.LT1(%r13)
145 la %r5,0(%r4,%r3)
146 l %r4,.LC12-.LT1(%r13)
147 la %r5,0(%r4,%r3)
148
149 /* LD against hidden and local variables */
150 l %r2,.LC13-.LT1(%r13)
151 bas %r14,0(%r7,%r13):tls_ldcall:sh1
152 la %r3,0(%r2,%r9)
153 l %r4,.LC14-.LT1(%r13)
154 la %r5,0(%r4,%r3)
155 l %r4,.LC13-.LT1(%r13)
156 la %r5,0(%r5,%r3)
157
158 /* LD against hidden but not local variables */
159 l %r2,.LC16-.LT1(%r13)
160 bas %r14,0(%r7,%r13):tls_ldcall:sH1
161 la %r3,0(%r2,%r9)
162 l %r3,.LC17-.LT1(%r13)
163 la %r5,0(%r4,%r3)
164 l %r4,.LC18-.LT1(%r13)
165 la %r5,0(%r4,%r3)
166
167 /* IE against global var */
168 l %r3,.LC19-.LT1(%r13)
169 l %r3,0(%r3,%r12):tls_load:sg2
170 la %r3,0(%r3,%r3)
171
172 /* IE against local var */
173 l %r3,.LC20-.LT1(%r13)
174 l %r4,0(%r3,%r12):tls_load:sl2
175 la %r5,0(%r4,%r3)
176
177 /* IE against hidden and local var */
178 l %r3,.LC21-.LT1(%r13)
179 l %r4,0(%r3,%r12):tls_load:sh2
180 la %r5,0(%r4,%r3)
181
182 /* IE against hidden but not local var */
183 l %r3,.LC22-.LT1(%r13)
184 l %r4,0(%r3,%r12):tls_load:sH2
185 la %r5,0(%r4,%r3)
186
187 /* IE against global var with small got access (no optimization) */
188 l %r3,sg5@gotntpoff(%r12)
189 la %r3,0(%r3,%r9)
190
191 /* IE against local var with small got access (no optimization) */
192 l %r3,sl5@gotntpoff(%r12)
193 la %r3,0(%r3,%r9)
194
195 /* IE against hidden and local var with small got access
196 (no optimization) */
197 l %r3,sh5@gotntpoff(%r12)
198 la %r3,0(%r3,%r9)
199
200 /* IE against hidden but not local var with small got access
201 (no optimization) */
202 l %r3,sH5@gotntpoff(%r12)
203 la %r3,0(%r3,%r9)
204
205 /* Function epilog */
206 lm %r6,%r14,120(%r15)
207 br %r14
208