ld: Extract _bfd_elf_link_iterate_on_relocs
[binutils-gdb.git] / ld / testsuite / ld-i386 / tlsgdesc.dd
1 #source: tlsgdesc.s
2 #as: --32
3 #ld: -shared -melf_i386 --no-ld-generated-unwind-info
4 #objdump: -drj.text
5 #target: i?86-*-*
6
7 .*: +file format elf32-i386.*
8
9 Disassembly of section .text:
10
11 [0-9a-f]+ <fc1>:
12 +[0-9a-f]+: 55[ ]+push %ebp
13 +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp
14 +[0-9a-f]+: 53[ ]+push %ebx
15 +[0-9a-f]+: 50[ ]+push %eax
16 +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <.*>
17 +[0-9a-f]+: 5b[ ]+pop %ebx
18 +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx
19 +[0-9a-f]+: 90[ ]+nop *
20 +[0-9a-f]+: 90[ ]+nop *
21 +[0-9a-f]+: 90[ ]+nop *
22 +[0-9a-f]+: 90[ ]+nop *
23 # @gottpoff IE against global var
24 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
25 +[0-9a-f]+: 90[ ]+nop *
26 +[0-9a-f]+: 90[ ]+nop *
27 +[0-9a-f]+: 2b 8b e0 ff ff ff[ ]+sub -0x20\(%ebx\),%ecx
28 # ->R_386_TLS_TPOFF32 sG3
29 +[0-9a-f]+: 90[ ]+nop *
30 +[0-9a-f]+: 90[ ]+nop *
31 +[0-9a-f]+: 90[ ]+nop *
32 +[0-9a-f]+: 90[ ]+nop *
33 # @gotntpoff IE against global var
34 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
35 +[0-9a-f]+: 90[ ]+nop *
36 +[0-9a-f]+: 90[ ]+nop *
37 +[0-9a-f]+: 03 8b f0 ff ff ff[ ]+add -0x10\(%ebx\),%ecx
38 # ->R_386_TLS_TPOFF sG4
39 +[0-9a-f]+: 90[ ]+nop *
40 +[0-9a-f]+: 90[ ]+nop *
41 +[0-9a-f]+: 90[ ]+nop *
42 +[0-9a-f]+: 90[ ]+nop *
43 # GD
44 +[0-9a-f]+: 8d 04 1d f8 ff ff ff[ ]+lea -0x8\(,%ebx,1\),%eax
45 # ->R_386_TLS_DTPMOD32 sG1
46 +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
47 # ->R_386_JUMP_SLOT ___tls_get_addr
48 +[0-9a-f]+: 90[ ]+nop *
49 +[0-9a-f]+: 90[ ]+nop *
50 +[0-9a-f]+: 90[ ]+nop *
51 +[0-9a-f]+: 90[ ]+nop *
52 +[0-9a-f]+: 8d 83 18 00 00 00[ ]+lea 0x18\(%ebx\),%eax
53 # ->R_386_TLS_DESC sG1
54 +[0-9a-f]+: ff 10[ ]+call \*\(%eax\)
55 +[0-9a-f]+: 90[ ]+nop *
56 +[0-9a-f]+: 90[ ]+nop *
57 +[0-9a-f]+: 90[ ]+nop *
58 +[0-9a-f]+: 90[ ]+nop *
59 +[0-9a-f]+: 8d 83 10 00 00 00[ ]+lea 0x10\(%ebx\),%eax
60 # ->R_386_TLS_DESC sG2
61 +[0-9a-f]+: ff 10[ ]+call \*\(%eax\)
62 +[0-9a-f]+: 90[ ]+nop *
63 +[0-9a-f]+: 90[ ]+nop *
64 +[0-9a-f]+: 90[ ]+nop *
65 +[0-9a-f]+: 90[ ]+nop *
66 +[0-9a-f]+: 8d 04 1d e8 ff ff ff[ ]+lea -0x18\(,%ebx,1\),%eax
67 # ->R_386_TLS_DTPMOD32 sG2
68 +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
69 # ->R_386_JUMP_SLOT ___tls_get_addr
70 +[0-9a-f]+: 90[ ]+nop *
71 +[0-9a-f]+: 90[ ]+nop *
72 +[0-9a-f]+: 90[ ]+nop *
73 +[0-9a-f]+: 90[ ]+nop *
74 # GD -> IE because variable is referenced through @gottpoff too
75 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
76 +[0-9a-f]+: 2b 83 e0 ff ff ff[ ]+sub -0x20\(%ebx\),%eax
77 # ->R_386_TLS_TPOFF32 sG3
78 +[0-9a-f]+: 90[ ]+nop *
79 +[0-9a-f]+: 90[ ]+nop *
80 +[0-9a-f]+: 90[ ]+nop *
81 +[0-9a-f]+: 90[ ]+nop *
82 +[0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax
83 # ->R_386_TLS_TPOFF32 sG3
84 +[0-9a-f]+: f7 d8[ ]+neg %eax
85 +[0-9a-f]+: 90[ ]+nop *
86 +[0-9a-f]+: 90[ ]+nop *
87 +[0-9a-f]+: 90[ ]+nop *
88 +[0-9a-f]+: 90[ ]+nop *
89 # GD -> IE because variable is referenced through @gotntpoff too
90 +[0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax
91 # ->R_386_TLS_TPOFF sG4
92 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
93 +[0-9a-f]+: 90[ ]+nop *
94 +[0-9a-f]+: 90[ ]+nop *
95 +[0-9a-f]+: 90[ ]+nop *
96 +[0-9a-f]+: 90[ ]+nop *
97 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
98 +[0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax
99 # ->R_386_TLS_TPOFF sG4
100 +[0-9a-f]+: 90[ ]+nop *
101 +[0-9a-f]+: 90[ ]+nop *
102 +[0-9a-f]+: 90[ ]+nop *
103 +[0-9a-f]+: 90[ ]+nop *
104 # GD -> IE because variable is referenced through @gotntpoff too
105 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
106 +[0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax
107 # ->R_386_TLS_TPOFF sG5
108 +[0-9a-f]+: 90[ ]+nop *
109 +[0-9a-f]+: 90[ ]+nop *
110 +[0-9a-f]+: 90[ ]+nop *
111 +[0-9a-f]+: 90[ ]+nop *
112 +[0-9a-f]+: 8b 83 e4 ff ff ff[ ]+mov -0x1c\(%ebx\),%eax
113 # ->R_386_TLS_TPOFF sG5
114 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
115 +[0-9a-f]+: 90[ ]+nop *
116 +[0-9a-f]+: 90[ ]+nop *
117 +[0-9a-f]+: 90[ ]+nop *
118 +[0-9a-f]+: 90[ ]+nop *
119 # GD -> IE because variable is referenced through @gottpoff too
120 +[0-9a-f]+: 8b 83 f4 ff ff ff[ ]+mov -0xc\(%ebx\),%eax
121 # ->R_386_TLS_TPOFF32 sG6
122 +[0-9a-f]+: f7 d8[ ]+neg %eax
123 +[0-9a-f]+: 90[ ]+nop *
124 +[0-9a-f]+: 90[ ]+nop *
125 +[0-9a-f]+: 90[ ]+nop *
126 +[0-9a-f]+: 90[ ]+nop *
127 +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
128 +[0-9a-f]+: 2b 83 f4 ff ff ff[ ]+sub -0xc\(%ebx\),%eax
129 # ->R_386_TLS_TPOFF32 sG6
130 +[0-9a-f]+: 90[ ]+nop *
131 +[0-9a-f]+: 90[ ]+nop *
132 +[0-9a-f]+: 90[ ]+nop *
133 +[0-9a-f]+: 90[ ]+nop *
134 # @gotntpoff IE against global var
135 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
136 +[0-9a-f]+: 90[ ]+nop *
137 +[0-9a-f]+: 90[ ]+nop *
138 +[0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx
139 # ->R_386_TLS_TPOFF sG5
140 +[0-9a-f]+: 90[ ]+nop *
141 +[0-9a-f]+: 90[ ]+nop *
142 +[0-9a-f]+: 90[ ]+nop *
143 +[0-9a-f]+: 90[ ]+nop *
144 # @gottpoff IE against global var
145 +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
146 +[0-9a-f]+: 90[ ]+nop *
147 +[0-9a-f]+: 90[ ]+nop *
148 +[0-9a-f]+: 2b 8b f4 ff ff ff[ ]+sub -0xc\(%ebx\),%ecx
149 # ->R_386_TLS_TPOFF32 sG6
150 +[0-9a-f]+: 90[ ]+nop *
151 +[0-9a-f]+: 90[ ]+nop *
152 +[0-9a-f]+: 90[ ]+nop *
153 +[0-9a-f]+: 90[ ]+nop *
154 +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx
155 +[0-9a-f]+: c9[ ]+leave *
156 +[0-9a-f]+: c3[ ]+ret *