gas/testsuite/
[deliverable/binutils-gdb.git] / ld / testsuite / ld-i386 / tlsbin.dd
1 #source: tlsbinpic.s
2 #source: tlsbin.s
3 #as: --32
4 #ld: -melf_i386 tmpdir/libtlslib.so
5 #objdump: -drj.text
6 #target: i?86-*-*
7
8 # PT_TLS layout is:
9 # Offset from Offset from Name
10 # TCB base TCB end
11 # 0x00 -0xa0 sg1..sg8
12 # 0x20 -0x80 sl1..sl8
13 # 0x40 -0x60 sh1..sh8
14 # 0x60 -0x40 bg1..bg8
15 # 0x80 -0x20 bl1..bl8
16
17 .*: +file format elf32-i386
18
19 Disassembly of section .text:
20
21 0+8049000 <fn2>:
22 8049000: 55[ ]+push %ebp
23 8049001: 89 e5[ ]+mov %esp,%ebp
24 8049003: 53[ ]+push %ebx
25 8049004: 50[ ]+push %eax
26 8049005: e8 00 00 00 00[ ]+call 804900a <fn2\+0xa>
27 804900a: 5b[ ]+pop %ebx
28 804900b: 81 c3 1a 11 00 00[ ]+add \$0x111a,%ebx
29 8049011: 90[ ]+nop *
30 8049012: 90[ ]+nop *
31 8049013: 90[ ]+nop *
32 8049014: 90[ ]+nop *
33 # GD -> IE because variable is not defined in executable
34 8049015: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
35 804901b: 2b 83 f8 ff ff ff[ ]+sub -0x8\(%ebx\),%eax
36 # ->R_386_TLS_TPOFF32 sG1
37 8049021: 90[ ]+nop *
38 8049022: 90[ ]+nop *
39 8049023: 90[ ]+nop *
40 8049024: 90[ ]+nop *
41 # GD -> IE because variable is not defined in executable where
42 # the variable is referenced through @gottpoff too
43 8049025: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
44 804902b: 2b 83 e8 ff ff ff[ ]+sub -0x18\(%ebx\),%eax
45 # ->R_386_TLS_TPOFF32 sG2
46 8049031: 90[ ]+nop *
47 8049032: 90[ ]+nop *
48 8049033: 90[ ]+nop *
49 8049034: 90[ ]+nop *
50 # GD -> IE because variable is not defined in executable where
51 # the variable is referenced through @gotntpoff too
52 8049035: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
53 804903b: 03 83 dc ff ff ff[ ]+add -0x24\(%ebx\),%eax
54 # ->R_386_TLS_TPOFF sG3
55 8049041: 90[ ]+nop *
56 8049042: 90[ ]+nop *
57 8049043: 90[ ]+nop *
58 8049044: 90[ ]+nop *
59 # GD -> IE because variable is not defined in executable where
60 # the variable is referenced through @gottpoff and @gotntpoff too
61 8049045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
62 804904b: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax
63 # ->R_386_TLS_TPOFF32 sG4
64 8049051: 90[ ]+nop *
65 8049052: 90[ ]+nop *
66 8049053: 90[ ]+nop *
67 8049054: 90[ ]+nop *
68 # GD -> LE with global variable defined in executable
69 8049055: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
70 804905b: 81 e8 00 10 00 00[ ]+sub \$0x1000,%eax
71 # sg1
72 8049061: 90[ ]+nop *
73 8049062: 90[ ]+nop *
74 8049063: 90[ ]+nop *
75 8049064: 90[ ]+nop *
76 # GD -> LE with local variable defined in executable
77 8049065: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
78 804906b: 81 e8 e0 0f 00 00[ ]+sub \$0xfe0,%eax
79 # sl1
80 8049071: 90[ ]+nop *
81 8049072: 90[ ]+nop *
82 8049073: 90[ ]+nop *
83 8049074: 90[ ]+nop *
84 # GD -> LE with hidden variable defined in executable
85 8049075: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
86 804907b: 81 e8 c0 0f 00 00[ ]+sub \$0xfc0,%eax
87 # sh1
88 8049081: 90[ ]+nop *
89 8049082: 90[ ]+nop *
90 8049083: 90[ ]+nop *
91 8049084: 90[ ]+nop *
92 # LD -> LE
93 8049085: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
94 804908b: 90[ ]+nop *
95 804908c: 8d 74 26 00[ ]+lea 0x0\(%esi\),%esi
96 8049090: 90[ ]+nop *
97 8049091: 90[ ]+nop *
98 8049092: 8d 90 20 f0 ff ff[ ]+lea -0xfe0\(%eax\),%edx
99 # sl1
100 8049098: 90[ ]+nop *
101 8049099: 90[ ]+nop *
102 804909a: 8d 88 24 f0 ff ff[ ]+lea -0xfdc\(%eax\),%ecx
103 # sl2
104 80490a0: 90[ ]+nop *
105 80490a1: 90[ ]+nop *
106 80490a2: 90[ ]+nop *
107 80490a3: 90[ ]+nop *
108 # LD -> LE against hidden variables
109 80490a4: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
110 80490aa: 90[ ]+nop *
111 80490ab: 8d 74 26 00[ ]+lea 0x0\(%esi\),%esi
112 80490af: 90[ ]+nop *
113 80490b0: 90[ ]+nop *
114 80490b1: 8d 90 40 f0 ff ff[ ]+lea -0xfc0\(%eax\),%edx
115 # sh1
116 80490b7: 90[ ]+nop *
117 80490b8: 90[ ]+nop *
118 80490b9: 8d 88 44 f0 ff ff[ ]+lea -0xfbc\(%eax\),%ecx
119 # sh2
120 80490bf: 90[ ]+nop *
121 80490c0: 90[ ]+nop *
122 80490c1: 90[ ]+nop *
123 80490c2: 90[ ]+nop *
124 # @gottpoff IE against global var
125 80490c3: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
126 80490ca: 90[ ]+nop *
127 80490cb: 90[ ]+nop *
128 80490cc: 2b 8b e8 ff ff ff[ ]+sub -0x18\(%ebx\),%ecx
129 # ->R_386_TLS_TPOFF32 sG2
130 80490d2: 90[ ]+nop *
131 80490d3: 90[ ]+nop *
132 80490d4: 90[ ]+nop *
133 80490d5: 90[ ]+nop *
134 # @gottpoff IE against global var
135 80490d6: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
136 80490dc: 90[ ]+nop *
137 80490dd: 90[ ]+nop *
138 80490de: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax
139 # ->R_386_TLS_TPOFF32 sG4
140 80490e4: 90[ ]+nop *
141 80490e5: 90[ ]+nop *
142 80490e6: 90[ ]+nop *
143 80490e7: 90[ ]+nop *
144 # @gotntpoff IE against global var
145 80490e8: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
146 80490ef: 90[ ]+nop *
147 80490f0: 90[ ]+nop *
148 80490f1: 03 8b dc ff ff ff[ ]+add -0x24\(%ebx\),%ecx
149 # ->R_386_TLS_TPOFF sG3
150 80490f7: 90[ ]+nop *
151 80490f8: 90[ ]+nop *
152 80490f9: 90[ ]+nop *
153 80490fa: 90[ ]+nop *
154 # @gotntpoff IE against global var
155 80490fb: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
156 8049101: 90[ ]+nop *
157 8049102: 90[ ]+nop *
158 8049103: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax
159 # ->R_386_TLS_TPOFF sG4
160 8049109: 90[ ]+nop *
161 804910a: 90[ ]+nop *
162 804910b: 90[ ]+nop *
163 804910c: 90[ ]+nop *
164 # @gottpoff IE -> LE against global var defined in exec
165 804910d: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
166 8049114: 90[ ]+nop *
167 8049115: 90[ ]+nop *
168 8049116: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx
169 # sg1
170 804911c: 90[ ]+nop *
171 804911d: 90[ ]+nop *
172 804911e: 90[ ]+nop *
173 804911f: 90[ ]+nop *
174 # @gotntpoff IE -> LE against local var
175 8049120: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
176 8049127: 90[ ]+nop *
177 8049128: 90[ ]+nop *
178 8049129: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax
179 # sl1
180 804912f: 90[ ]+nop *
181 8049130: 90[ ]+nop *
182 8049131: 90[ ]+nop *
183 8049132: 90[ ]+nop *
184 # @gottpoff IE -> LE against hidden var
185 8049133: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
186 804913a: 90[ ]+nop *
187 804913b: 90[ ]+nop *
188 804913c: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx
189 # sh1
190 8049142: 90[ ]+nop *
191 8049143: 90[ ]+nop *
192 8049144: 90[ ]+nop *
193 8049145: 90[ ]+nop *
194 # Direct access through %gs
195 # @gotntpoff IE against global var
196 8049146: 8b 8b e0 ff ff ff[ ]+mov -0x20\(%ebx\),%ecx
197 # ->R_386_TLS_TPOFF sG5
198 804914c: 90[ ]+nop *
199 804914d: 90[ ]+nop *
200 804914e: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx
201 8049151: 90[ ]+nop *
202 8049152: 90[ ]+nop *
203 8049153: 90[ ]+nop *
204 8049154: 90[ ]+nop *
205 # @gotntpoff IE->LE against local var
206 8049155: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax
207 # sl5
208 804915b: 90[ ]+nop *
209 804915c: 90[ ]+nop *
210 804915d: 65 8b 10[ ]+mov %gs:\(%eax\),%edx
211 8049160: 90[ ]+nop *
212 8049161: 90[ ]+nop *
213 8049162: 90[ ]+nop *
214 8049163: 90[ ]+nop *
215 # @gotntpoff IE->LE against hidden var
216 8049164: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx
217 # sh5
218 804916a: 90[ ]+nop *
219 804916b: 90[ ]+nop *
220 804916c: 65 8b 12[ ]+mov %gs:\(%edx\),%edx
221 804916f: 90[ ]+nop *
222 8049170: 90[ ]+nop *
223 8049171: 90[ ]+nop *
224 8049172: 90[ ]+nop *
225 8049173: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx
226 8049176: c9[ ]+leave *
227 8049177: c3[ ]+ret *
228
229 0+8049178 <_start>:
230 8049178: 55[ ]+push %ebp
231 8049179: 89 e5[ ]+mov %esp,%ebp
232 804917b: e8 00 00 00 00[ ]+call 8049180 <_start\+0x8>
233 8049180: 59[ ]+pop %ecx
234 8049181: 81 c1 a4 0f 00 00[ ]+add \$0xfa4,%ecx
235 8049187: 90[ ]+nop *
236 8049188: 90[ ]+nop *
237 8049189: 90[ ]+nop *
238 804918a: 90[ ]+nop *
239 # @gottpoff IE against global var
240 804918b: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
241 8049192: 90[ ]+nop *
242 8049193: 90[ ]+nop *
243 8049194: 2b 91 f4 ff ff ff[ ]+sub -0xc\(%ecx\),%edx
244 # ->R_386_TLS_TPOFF32 sG6
245 804919a: 90[ ]+nop *
246 804919b: 90[ ]+nop *
247 804919c: 90[ ]+nop *
248 804919d: 90[ ]+nop *
249 # @indntpoff IE against global var
250 804919e: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
251 80491a4: 90[ ]+nop *
252 80491a5: 90[ ]+nop *
253 80491a6: 03 05 08 a1 04 08[ ]+add 0x804a108,%eax
254 # ->R_386_TLS_TPOFF sG7
255 80491ac: 90[ ]+nop *
256 80491ad: 90[ ]+nop *
257 80491ae: 90[ ]+nop *
258 80491af: 90[ ]+nop *
259 # @indntpoff direct %gs access IE against global var
260 80491b0: 8b 15 20 a1 04 08[ ]+mov 0x804a120,%edx
261 # ->R_386_TLS_TPOFF sG8
262 80491b6: 90[ ]+nop *
263 80491b7: 90[ ]+nop *
264 80491b8: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
265 80491bb: 90[ ]+nop *
266 80491bc: 90[ ]+nop *
267 80491bd: 90[ ]+nop *
268 80491be: 90[ ]+nop *
269 # @gottpoff IE -> LE against global var defined in exec
270 80491bf: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
271 80491c6: 90[ ]+nop *
272 80491c7: 90[ ]+nop *
273 80491c8: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx
274 # bg6
275 80491ce: 90[ ]+nop *
276 80491cf: 90[ ]+nop *
277 80491d0: 90[ ]+nop *
278 80491d1: 90[ ]+nop *
279 # @indntpoff IE -> LE against global var defined in exec
280 80491d2: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
281 80491d8: 90[ ]+nop *
282 80491d9: 90[ ]+nop *
283 80491da: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax
284 # bg7
285 80491e0: 90[ ]+nop *
286 80491e1: 90[ ]+nop *
287 80491e2: 90[ ]+nop *
288 80491e3: 90[ ]+nop *
289 # @indntpoff direct %gs access IE -> LE against global var defined
290 # in exec
291 80491e4: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx
292 # bg8
293 80491ea: 90[ ]+nop *
294 80491eb: 90[ ]+nop *
295 80491ec: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
296 80491ef: 90[ ]+nop *
297 80491f0: 90[ ]+nop *
298 80491f1: 90[ ]+nop *
299 80491f2: 90[ ]+nop *
300 # @gottpoff IE -> LE against local var
301 80491f3: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
302 80491fa: 90[ ]+nop *
303 80491fb: 90[ ]+nop *
304 80491fc: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx
305 # bl6
306 8049202: 90[ ]+nop *
307 8049203: 90[ ]+nop *
308 8049204: 90[ ]+nop *
309 8049205: 90[ ]+nop *
310 # @indntpoff IE -> LE against local var
311 8049206: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
312 804920c: 90[ ]+nop *
313 804920d: 90[ ]+nop *
314 804920e: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax
315 # bl7
316 8049214: 90[ ]+nop *
317 8049215: 90[ ]+nop *
318 8049216: 90[ ]+nop *
319 8049217: 90[ ]+nop *
320 # @indntpoff direct %gs access IE -> LE against local var
321 8049218: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx
322 # bl8
323 804921e: 90[ ]+nop *
324 804921f: 90[ ]+nop *
325 8049220: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
326 8049223: 90[ ]+nop *
327 8049224: 90[ ]+nop *
328 8049225: 90[ ]+nop *
329 8049226: 90[ ]+nop *
330 # @gottpoff IE -> LE against hidden but not local var
331 8049227: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
332 804922e: 90[ ]+nop *
333 804922f: 90[ ]+nop *
334 8049230: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx
335 # sh6
336 8049236: 90[ ]+nop *
337 8049237: 90[ ]+nop *
338 8049238: 90[ ]+nop *
339 8049239: 90[ ]+nop *
340 # @indntpoff IE -> LE against hidden but not local var
341 804923a: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
342 8049240: 90[ ]+nop *
343 8049241: 90[ ]+nop *
344 8049242: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax
345 # sh7
346 8049248: 90[ ]+nop *
347 8049249: 90[ ]+nop *
348 804924a: 90[ ]+nop *
349 804924b: 90[ ]+nop *
350 # @indntpoff direct %gs access IE -> LE against hidden but not
351 # local var
352 804924c: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx
353 # sh8
354 8049252: 90[ ]+nop *
355 8049253: 90[ ]+nop *
356 8049254: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
357 8049257: 90[ ]+nop *
358 8049258: 90[ ]+nop *
359 8049259: 90[ ]+nop *
360 804925a: 90[ ]+nop *
361 # LE @tpoff, global var defined in exec
362 804925b: ba 00 10 00 00[ ]+mov \$0x1000,%edx
363 # sg1
364 8049260: 90[ ]+nop *
365 8049261: 90[ ]+nop *
366 8049262: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
367 8049268: 90[ ]+nop *
368 8049269: 90[ ]+nop *
369 804926a: 29 d0[ ]+sub %edx,%eax
370 804926c: 90[ ]+nop *
371 804926d: 90[ ]+nop *
372 804926e: 90[ ]+nop *
373 804926f: 90[ ]+nop *
374 # LE @tpoff, local var
375 8049270: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax
376 # bl1+1
377 8049275: 90[ ]+nop *
378 8049276: 90[ ]+nop *
379 8049277: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
380 804927e: 90[ ]+nop *
381 804927f: 90[ ]+nop *
382 8049280: 29 c2[ ]+sub %eax,%edx
383 8049282: 90[ ]+nop *
384 8049283: 90[ ]+nop *
385 8049284: 90[ ]+nop *
386 8049285: 90[ ]+nop *
387 # LE @tpoff, hidden var defined in exec
388 8049286: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax
389 # sh1+3
390 804928b: 90[ ]+nop *
391 804928c: 90[ ]+nop *
392 804928d: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
393 8049294: 90[ ]+nop *
394 8049295: 90[ ]+nop *
395 8049296: 29 c2[ ]+sub %eax,%edx
396 8049298: 90[ ]+nop *
397 8049299: 90[ ]+nop *
398 804929a: 90[ ]+nop *
399 804929b: 90[ ]+nop *
400 # LE @ntpoff, global var defined in exec
401 804929c: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
402 80492a2: 90[ ]+nop *
403 80492a3: 90[ ]+nop *
404 80492a4: 8d 90 04 f0 ff ff[ ]+lea -0xffc\(%eax\),%edx
405 # sg2
406 80492aa: 90[ ]+nop *
407 80492ab: 90[ ]+nop *
408 80492ac: 90[ ]+nop *
409 80492ad: 90[ ]+nop *
410 # LE @ntpoff, local var, non-canonical sequence
411 80492ae: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax
412 # bl2+2
413 80492b3: 90[ ]+nop *
414 80492b4: 90[ ]+nop *
415 80492b5: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
416 80492bc: 90[ ]+nop *
417 80492bd: 90[ ]+nop *
418 80492be: 01 c2[ ]+add %eax,%edx
419 80492c0: 90[ ]+nop *
420 80492c1: 90[ ]+nop *
421 80492c2: 90[ ]+nop *
422 80492c3: 90[ ]+nop *
423 # LE @ntpoff, hidden var defined in exec, non-canonical sequence
424 80492c4: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
425 80492cb: 90[ ]+nop *
426 80492cc: 90[ ]+nop *
427 80492cd: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx
428 # sh2+1
429 80492d3: 90[ ]+nop *
430 80492d4: 90[ ]+nop *
431 80492d5: 90[ ]+nop *
432 80492d6: 90[ ]+nop *
433 # LE @ntpoff, global var defined in exec
434 80492d7: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax
435 # sg3
436 80492dd: 90[ ]+nop *
437 80492de: 90[ ]+nop *
438 80492df: 90[ ]+nop *
439 80492e0: 90[ ]+nop *
440 # LE @ntpoff, local var
441 80492e1: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx
442 # bl3+3
443 80492e8: 90[ ]+nop *
444 80492e9: 90[ ]+nop *
445 80492ea: 90[ ]+nop *
446 80492eb: 90[ ]+nop *
447 # LE @ntpoff, hidden var defined in exec
448 80492ec: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx
449 # sh3+1
450 80492f3: 90[ ]+nop *
451 80492f4: 90[ ]+nop *
452 80492f5: 90[ ]+nop *
453 80492f6: 90[ ]+nop *
454 80492f7: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx
455 80492fa: c9[ ]+leave *
456 80492fb: c3[ ]+ret *
This page took 0.039285 seconds and 5 git commands to generate.