1#source: tlsnopic1.s
2#source: tlsnopic2.s
3#as: --32
4#ld: -shared -melf_i386 --no-ld-generated-unwind-info
5#objdump: -drj.text
6#target: i?86-*-*
7
8.*: +file format elf32-i386.*
9
10Disassembly of section .text:
11
12[0-9a-f]+ <fn3>:
13 +[0-9a-f]+:	55[ 	]+push   %ebp
14 +[0-9a-f]+:	89 e5[ 	]+mov    %esp,%ebp
15#  @indntpoff IE against global var
16 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
17 +[0-9a-f]+:	90[ 	]+nop *
18 +[0-9a-f]+:	90[ 	]+nop *
19 +[0-9a-f]+:	03 05 ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+c,%eax
20#				->R_386_TLS_TPOFF	sg1
21 +[0-9a-f]+:	90[ 	]+nop *
22 +[0-9a-f]+:	90[ 	]+nop *
23 +[0-9a-f]+:	90[ 	]+nop *
24 +[0-9a-f]+:	90[ 	]+nop *
25#  @indntpoff direct %gs access IE against global var
26 +[0-9a-f]+:	8b 15 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+0,%edx
27#				->R_386_TLS_TPOFF	sg2
28 +[0-9a-f]+:	90[ 	]+nop *
29 +[0-9a-f]+:	90[ 	]+nop *
30 +[0-9a-f]+:	65 8b 02[ 	]+mov    %gs:\(%edx\),%eax
31 +[0-9a-f]+:	90[ 	]+nop *
32 +[0-9a-f]+:	90[ 	]+nop *
33 +[0-9a-f]+:	90[ 	]+nop *
34 +[0-9a-f]+:	90[ 	]+nop *
35#  @indntpoff IE against hidden var
36 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
37 +[0-9a-f]+:	90[ 	]+nop *
38 +[0-9a-f]+:	90[ 	]+nop *
39 +[0-9a-f]+:	03 05 ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+4,%eax
40#				->R_386_TLS_TPOFF	[0x14000000]
41 +[0-9a-f]+:	90[ 	]+nop *
42 +[0-9a-f]+:	90[ 	]+nop *
43 +[0-9a-f]+:	90[ 	]+nop *
44 +[0-9a-f]+:	90[ 	]+nop *
45#  @indntpoff direct %gs access IE against hidden var
46 +[0-9a-f]+:	8b 15 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+8,%edx
47#				->R_386_TLS_TPOFF	[0x18000000]
48 +[0-9a-f]+:	90[ 	]+nop *
49 +[0-9a-f]+:	90[ 	]+nop *
50 +[0-9a-f]+:	65 8b 02[ 	]+mov    %gs:\(%edx\),%eax
51 +[0-9a-f]+:	90[ 	]+nop *
52 +[0-9a-f]+:	90[ 	]+nop *
53 +[0-9a-f]+:	90[ 	]+nop *
54 +[0-9a-f]+:	90[ 	]+nop *
55#  @indntpoff IE against local var
56 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
57 +[0-9a-f]+:	90[ 	]+nop *
58 +[0-9a-f]+:	90[ 	]+nop *
59 +[0-9a-f]+:	03 05 ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+4,%eax
60#				->R_386_TLS_TPOFF	[0x00000000]
61 +[0-9a-f]+:	90[ 	]+nop *
62 +[0-9a-f]+:	90[ 	]+nop *
63 +[0-9a-f]+:	90[ 	]+nop *
64 +[0-9a-f]+:	90[ 	]+nop *
65#  @indntpoff direct %gs access IE against local var
66 +[0-9a-f]+:	8b 15 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+8,%edx
67#				->R_386_TLS_TPOFF	[0x04000000]
68 +[0-9a-f]+:	90[ 	]+nop *
69 +[0-9a-f]+:	90[ 	]+nop *
70 +[0-9a-f]+:	65 8b 02[ 	]+mov    %gs:\(%edx\),%eax
71 +[0-9a-f]+:	90[ 	]+nop *
72 +[0-9a-f]+:	90[ 	]+nop *
73 +[0-9a-f]+:	90[ 	]+nop *
74 +[0-9a-f]+:	90[ 	]+nop *
75#  LE @tpoff, global var
76 +[0-9a-f]+:	ba fd ff ff ff[ 	]+mov    \$0xfffffffd,%edx
77#				R_386_TLS_TPOFF32	sg3
78 +[0-9a-f]+:	90[ 	]+nop *
79 +[0-9a-f]+:	90[ 	]+nop *
80 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
81 +[0-9a-f]+:	90[ 	]+nop *
82 +[0-9a-f]+:	90[ 	]+nop *
83 +[0-9a-f]+:	29 d0[ 	]+sub    %edx,%eax
84 +[0-9a-f]+:	90[ 	]+nop *
85 +[0-9a-f]+:	90[ 	]+nop *
86 +[0-9a-f]+:	90[ 	]+nop *
87 +[0-9a-f]+:	90[ 	]+nop *
88#  LE @tpoff, local var
89 +[0-9a-f]+:	b8 f7 ff ff ff[ 	]+mov    \$0xfffffff7,%eax
90#				R_386_TLS_TPOFF32
91 +[0-9a-f]+:	90[ 	]+nop *
92 +[0-9a-f]+:	90[ 	]+nop *
93 +[0-9a-f]+:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
94 +[0-9a-f]+:	90[ 	]+nop *
95 +[0-9a-f]+:	90[ 	]+nop *
96 +[0-9a-f]+:	29 c2[ 	]+sub    %eax,%edx
97 +[0-9a-f]+:	90[ 	]+nop *
98 +[0-9a-f]+:	90[ 	]+nop *
99 +[0-9a-f]+:	90[ 	]+nop *
100 +[0-9a-f]+:	90[ 	]+nop *
101#  LE @ntpoff, global var
102 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
103 +[0-9a-f]+:	90[ 	]+nop *
104 +[0-9a-f]+:	90[ 	]+nop *
105 +[0-9a-f]+:	8d 90 02 00 00 00[ 	]+lea    0x2\(%eax\),%edx
106#				R_386_TLS_TPOFF		sg4
107 +[0-9a-f]+:	90[ 	]+nop *
108 +[0-9a-f]+:	90[ 	]+nop *
109 +[0-9a-f]+:	90[ 	]+nop *
110 +[0-9a-f]+:	90[ 	]+nop *
111#  LE @ntpoff, hidden var, non-canonical sequence
112 +[0-9a-f]+:	b8 1c 00 00 00[ 	]+mov    \$0x1c,%eax
113#				R_386_TLS_TPOFF
114 +[0-9a-f]+:	90[ 	]+nop *
115 +[0-9a-f]+:	90[ 	]+nop *
116 +[0-9a-f]+:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
117 +[0-9a-f]+:	90[ 	]+nop *
118 +[0-9a-f]+:	90[ 	]+nop *
119 +[0-9a-f]+:	01 c2[ 	]+add    %eax,%edx
120 +[0-9a-f]+:	90[ 	]+nop *
121 +[0-9a-f]+:	90[ 	]+nop *
122 +[0-9a-f]+:	90[ 	]+nop *
123 +[0-9a-f]+:	90[ 	]+nop *
124#  LE @ntpoff, local var, non-canonical sequence
125 +[0-9a-f]+:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
126 +[0-9a-f]+:	90[ 	]+nop *
127 +[0-9a-f]+:	90[ 	]+nop *
128 +[0-9a-f]+:	81 c2 0d 00 00 00[ 	]+add    \$0xd,%edx
129#				R_386_TLS_TPOFF
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#  Direct %gs access
135#  LE @ntpoff, global var
136 +[0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
137#				R_386_TLS_TPOFF		sg5
138 +[0-9a-f]+:	90[ 	]+nop *
139 +[0-9a-f]+:	90[ 	]+nop *
140 +[0-9a-f]+:	90[ 	]+nop *
141 +[0-9a-f]+:	90[ 	]+nop *
142#  LE @ntpoff, local var
143 +[0-9a-f]+:	65 8b 15 13 00 00 00 	mov    %gs:0x13,%edx
144#				R_386_TLS_TPOFF
145 +[0-9a-f]+:	90[ 	]+nop *
146 +[0-9a-f]+:	90[ 	]+nop *
147 +[0-9a-f]+:	90[ 	]+nop *
148 +[0-9a-f]+:	90[ 	]+nop *
149#  LE @ntpoff, hidden var
150 +[0-9a-f]+:	65 8b 15 21 00 00 00 	mov    %gs:0x21,%edx
151#				R_386_TLS_TPOFF
152 +[0-9a-f]+:	90[ 	]+nop *
153 +[0-9a-f]+:	90[ 	]+nop *
154 +[0-9a-f]+:	90[ 	]+nop *
155 +[0-9a-f]+:	90[ 	]+nop *
156 +[0-9a-f]+:	8b 5d fc[ 	]+mov    -0x4\(%ebp\),%ebx
157 +[0-9a-f]+:	c9[ 	]+leave *
158 +[0-9a-f]+:	c3[ 	]+ret *
159