Commit | Line | Data |
---|---|---|
bffbf940 JJ |
1 | #source: tlspic1.s |
2 | #source: tlspic2.s | |
3 | #as: --64 | |
4 | #ld: -shared -melf_x86_64 | |
5 | #objdump: -drj.text | |
6 | #target: x86_64-*-* | |
7 | ||
8 | .*: +file format elf64-x86-64 | |
9 | ||
10 | Disassembly of section .text: | |
11 | ||
12 | 0+1000 <fn1>: | |
13 | +1000: 55[ ]+push %rbp | |
14 | +1001: 48 89 e5[ ]+mov %rsp,%rbp | |
15 | +1004: 90[ ]+nop * | |
16 | +1005: 90[ ]+nop * | |
17 | +1006: 90[ ]+nop * | |
18 | +1007: 90[ ]+nop * | |
19 | # GD | |
abcf1d52 JJ |
20 | +1008: 66 48 8d 3d f0 11 10[ ]+lea 1053168\(%rip\),%rdi +# 102200 <_GLOBAL_OFFSET_TABLE_\+0x70> |
21 | +100f: 00 * | |
bffbf940 | 22 | # -> R_X86_64_DTPMOD64 sg1 |
abcf1d52 JJ |
23 | +1010: 66[ ]+data16 |
24 | +1011: 66[ ]+data16 | |
25 | +1012: 48 e8 68 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> | |
bffbf940 JJ |
26 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
27 | +1018: 90[ ]+nop * | |
28 | +1019: 90[ ]+nop * | |
29 | +101a: 90[ ]+nop * | |
30 | +101b: 90[ ]+nop * | |
31 | # GD -> IE because variable is referenced through IE too | |
32 | +101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
33 | +1023: 00 00 * | |
34 | +1025: 48 03 05 f4 11 10 00[ ]+add 1053172\(%rip\),%rax +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90> | |
35 | # -> R_X86_64_TPOFF64 sg2 | |
36 | +102c: 90[ ]+nop * | |
37 | +102d: 90[ ]+nop * | |
38 | +102e: 90[ ]+nop * | |
39 | +102f: 90[ ]+nop * | |
40 | # GD against local variable | |
abcf1d52 JJ |
41 | +1030: 66 48 8d 3d 78 11 10[ ]+lea 1053048\(%rip\),%rdi +# 1021b0 <_GLOBAL_OFFSET_TABLE_\+0x20> |
42 | +1037: 00 * | |
bffbf940 | 43 | # -> R_X86_64_DTPMOD64 [0 0x2000000000000000] |
abcf1d52 JJ |
44 | +1038: 66[ ]+data16 |
45 | +1039: 66[ ]+data16 | |
46 | +103a: 48 e8 40 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> | |
bffbf940 JJ |
47 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
48 | +1040: 90[ ]+nop * | |
49 | +1041: 90[ ]+nop * | |
50 | +1042: 90[ ]+nop * | |
51 | +1043: 90[ ]+nop * | |
52 | # GD -> IE against local variable referenced through IE too | |
53 | +1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
54 | +104b: 00 00 * | |
55 | +104d: 48 03 05 6c 11 10 00[ ]+add 1053036\(%rip\),%rax +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30> | |
56 | # -> R_X86_64_TPOFF64 *ABS*+0x24 | |
57 | +1054: 90[ ]+nop * | |
58 | +1055: 90[ ]+nop * | |
59 | +1056: 90[ ]+nop * | |
60 | +1057: 90[ ]+nop * | |
61 | # GD against hidden and local variable | |
abcf1d52 JJ |
62 | +1058: 66 48 8d 3d c8 11 10[ ]+lea 1053128\(%rip\),%rdi +# 102228 <_GLOBAL_OFFSET_TABLE_\+0x98> |
63 | +105f: 00 * | |
bffbf940 | 64 | # -> R_X86_64_DTPMOD64 [0 0x4000000000000000] |
abcf1d52 JJ |
65 | +1060: 66[ ]+data16 |
66 | +1061: 66[ ]+data16 | |
67 | +1062: 48 e8 18 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> | |
bffbf940 JJ |
68 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
69 | +1068: 90[ ]+nop * | |
70 | +1069: 90[ ]+nop * | |
71 | +106a: 90[ ]+nop * | |
72 | +106b: 90[ ]+nop * | |
73 | # GD -> IE against hidden and local variable referenced through IE too | |
74 | +106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
75 | +1073: 00 00 * | |
76 | +1075: 48 03 05 bc 11 10 00[ ]+add 1053116\(%rip\),%rax +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8> | |
77 | # -> R_X86_64_TPOFF64 *ABS*+0x44 | |
78 | +107c: 90[ ]+nop * | |
79 | +107d: 90[ ]+nop * | |
80 | +107e: 90[ ]+nop * | |
81 | +107f: 90[ ]+nop * | |
82 | # GD against hidden but not local variable | |
abcf1d52 JJ |
83 | +1080: 66 48 8d 3d 58 11 10[ ]+lea 1053016\(%rip\),%rdi +# 1021e0 <_GLOBAL_OFFSET_TABLE_\+0x50> |
84 | +1087: 00 * | |
bffbf940 | 85 | # -> R_X86_64_DTPMOD64 [0 0x6000000000000000] |
abcf1d52 JJ |
86 | +1088: 66[ ]+data16 |
87 | +1089: 66[ ]+data16 | |
88 | +108a: 48 e8 f0 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*> | |
bffbf940 JJ |
89 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
90 | +1090: 90[ ]+nop * | |
91 | +1091: 90[ ]+nop * | |
92 | +1092: 90[ ]+nop * | |
93 | +1093: 90[ ]+nop * | |
94 | # GD -> IE against hidden but not local variable referenced through IE too | |
95 | +1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
96 | +109b: 00 00 * | |
97 | +109d: 48 03 05 4c 11 10 00[ ]+add 1053004\(%rip\),%rax +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60> | |
98 | # -> R_X86_64_TPOFF64 *ABS*+0x64 | |
99 | +10a4: 90[ ]+nop * | |
100 | +10a5: 90[ ]+nop * | |
101 | +10a6: 90[ ]+nop * | |
102 | +10a7: 90[ ]+nop * | |
103 | # LD | |
104 | +10a8: 48 8d 3d 21 11 10 00[ ]+lea 1052961\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40> | |
105 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] | |
106 | +10af: e8 cc f5 ff ff[ ]+callq [0-9a-f]+ <.*> | |
107 | # -> R_X86_64_JUMP_SLOT __tls_get_addr | |
108 | +10b4: 90[ ]+nop * | |
109 | +10b5: 90[ ]+nop * | |
110 | +10b6: 48 8d 90 20 00 00 00[ ]+lea 0x20\(%rax\),%rdx | |
111 | +10bd: 90[ ]+nop * | |
112 | +10be: 90[ ]+nop * | |
113 | +10bf: 4c 8d 88 26 00 00 00[ ]+lea 0x26\(%rax\),%r9 | |
114 | +10c6: 90[ ]+nop * | |
115 | +10c7: 90[ ]+nop * | |
116 | +10c8: 90[ ]+nop * | |
117 | +10c9: 90[ ]+nop * | |
118 | # LD against hidden and local variables | |
119 | +10ca: 48 8d 3d ff 10 10 00[ ]+lea 1052927\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40> | |
120 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] | |
121 | +10d1: e8 aa f5 ff ff[ ]+callq [0-9a-f]+ <.*> | |
122 | # -> R_X86_64_JUMP_SLOT __tls_get_addr | |
123 | +10d6: 90[ ]+nop * | |
124 | +10d7: 90[ ]+nop * | |
125 | +10d8: 48 8d 90 40 00 00 00[ ]+lea 0x40\(%rax\),%rdx | |
126 | +10df: 90[ ]+nop * | |
127 | +10e0: 90[ ]+nop * | |
128 | +10e1: 48 8d 88 47 00 00 00[ ]+lea 0x47\(%rax\),%rcx | |
129 | +10e8: 90[ ]+nop * | |
130 | +10e9: 90[ ]+nop * | |
131 | +10ea: 90[ ]+nop * | |
132 | +10eb: 90[ ]+nop * | |
133 | # LD against hidden but not local variables | |
134 | +10ec: 48 8d 3d dd 10 10 00[ ]+lea 1052893\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40> | |
135 | # -> R_X86_64_DTPMOD64 [0 0x000000000000000] | |
136 | +10f3: e8 88 f5 ff ff[ ]+callq [0-9a-f]+ <.*> | |
137 | # -> R_X86_64_JUMP_SLOT __tls_get_addr | |
138 | +10f8: 90[ ]+nop * | |
139 | +10f9: 90[ ]+nop * | |
140 | +10fa: 4c 8d a0 60 00 00 00[ ]+lea 0x60\(%rax\),%r12 | |
141 | +1101: 90[ ]+nop * | |
142 | +1102: 90[ ]+nop * | |
143 | +1103: 48 8d 88 65 00 00 00[ ]+lea 0x65\(%rax\),%rcx | |
144 | +110a: 90[ ]+nop * | |
145 | +110b: 90[ ]+nop * | |
146 | # IE against global var | |
147 | +110c: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
148 | +1113: 00 00 * | |
149 | +1115: 90[ ]+nop * | |
150 | +1116: 90[ ]+nop * | |
151 | +1117: 48 03 0d 02 11 10 00[ ]+add 1052930\(%rip\),%rcx +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90> | |
152 | # -> R_X86_64_TPOFF64 sg2 | |
153 | +111e: 90[ ]+nop * | |
154 | +111f: 90[ ]+nop * | |
155 | +1120: 90[ ]+nop * | |
156 | +1121: 90[ ]+nop * | |
157 | # IE against local var | |
158 | +1122: 64 4c 8b 34 25 00 00[ ]+mov %fs:0x0,%r14 | |
159 | +1129: 00 00 * | |
160 | +112b: 90[ ]+nop * | |
161 | +112c: 90[ ]+nop * | |
162 | +112d: 4c 03 35 8c 10 10 00[ ]+add 1052812\(%rip\),%r14 +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30> | |
163 | # -> R_X86_64_TPOFF64 *ABS*+0x24 | |
164 | +1134: 90[ ]+nop * | |
165 | +1135: 90[ ]+nop * | |
166 | +1136: 90[ ]+nop * | |
167 | +1137: 90[ ]+nop * | |
168 | # IE against hidden and local var | |
169 | +1138: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
170 | +113f: 00 00 * | |
171 | +1141: 90[ ]+nop * | |
172 | +1142: 90[ ]+nop * | |
173 | +1143: 48 03 0d ee 10 10 00[ ]+add 1052910\(%rip\),%rcx +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8> | |
174 | # -> R_X86_64_TPOFF64 *ABS*+0x44 | |
175 | +114a: 90[ ]+nop * | |
176 | +114b: 90[ ]+nop * | |
177 | +114c: 90[ ]+nop * | |
178 | +114d: 90[ ]+nop * | |
179 | # IE against hidden but not local var | |
180 | +114e: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
181 | +1155: 00 00 * | |
182 | +1157: 90[ ]+nop * | |
183 | +1158: 90[ ]+nop * | |
184 | +1159: 48 03 0d 90 10 10 00[ ]+add 1052816\(%rip\),%rcx +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60> | |
185 | # -> R_X86_64_TPOFF64 *ABS*+0x64 | |
186 | +1160: 90[ ]+nop * | |
187 | +1161: 90[ ]+nop * | |
188 | +1162: 90[ ]+nop * | |
189 | +1163: 90[ ]+nop * | |
190 | # Direct access through %fs | |
191 | # IE against global var | |
192 | +1164: 48 8b 0d 8d 10 10 00[ ]+mov 1052813\(%rip\),%rcx +# 1021f8 <_GLOBAL_OFFSET_TABLE_\+0x68> | |
193 | # -> R_X86_64_TPOFF64 sg5 | |
194 | +116b: 90[ ]+nop * | |
195 | +116c: 90[ ]+nop * | |
196 | +116d: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx | |
197 | +1171: 90[ ]+nop * | |
198 | +1172: 90[ ]+nop * | |
199 | +1173: 90[ ]+nop * | |
200 | +1174: 90[ ]+nop * | |
201 | # IE against local var | |
202 | +1175: 4c 8b 15 4c 10 10 00[ ]+mov 1052748\(%rip\),%r10 +# 1021c8 <_GLOBAL_OFFSET_TABLE_\+0x38> | |
203 | # -> R_X86_64_TPOFF64 *ABS*+0x30 | |
204 | +117c: 90[ ]+nop * | |
205 | +117d: 90[ ]+nop * | |
206 | +117e: 64 4d 8b 22[ ]+mov %fs:\(%r10\),%r12 | |
207 | +1182: 90[ ]+nop * | |
208 | +1183: 90[ ]+nop * | |
209 | +1184: 90[ ]+nop * | |
210 | +1185: 90[ ]+nop * | |
211 | # IE against hidden and local var | |
212 | +1186: 48 8b 15 83 10 10 00[ ]+mov 1052803\(%rip\),%rdx +# 102210 <_GLOBAL_OFFSET_TABLE_\+0x80> | |
213 | # -> R_X86_64_TPOFF64 *ABS*+0x50 | |
214 | +118d: 90[ ]+nop * | |
215 | +118e: 90[ ]+nop * | |
216 | +118f: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx | |
217 | +1193: 90[ ]+nop * | |
218 | +1194: 90[ ]+nop * | |
219 | +1195: 90[ ]+nop * | |
220 | +1196: 90[ ]+nop * | |
221 | # IE against hidden but not local var | |
222 | +1197: 48 8b 0d 7a 10 10 00[ ]+mov 1052794\(%rip\),%rcx +# 102218 <_GLOBAL_OFFSET_TABLE_\+0x88> | |
223 | # -> R_X86_64_TPOFF64 *ABS*+0x70 | |
224 | +119e: 90[ ]+nop * | |
225 | +119f: 90[ ]+nop * | |
226 | +11a0: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx | |
227 | +11a4: 90[ ]+nop * | |
228 | +11a5: 90[ ]+nop * | |
229 | +11a6: 90[ ]+nop * | |
230 | +11a7: 90[ ]+nop * | |
231 | +11a8: c9[ ]+leaveq * | |
232 | +11a9: c3[ ]+retq * | |
233 | +11aa: 90[ ]+nop * | |
234 | +11ab: 90[ ]+nop * |