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
9Disassembly 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 *
157