4 #ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
5 #objdump: -drj.text -Mintel64
8 .*: +file format elf64-x86-64.*
10 Disassembly of section .text:
13 +1000: 55[ ]+push %rbp
14 +1001: 48 89 e5[ ]+mov %rsp,%rbp
20 +1008: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
22 # -> R_X86_64_DTPMOD64 sg1
23 +1010: 66 66 48 e8 [0-9a-f ]+data16 data16 rex.W callq [0-9a-f]+ <.*>
24 # -> R_X86_64_JUMP_SLOT __tls_get_addr
30 # GD -> IE because variable is referenced through IE too
31 +101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
33 +1025: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1a0>
34 # -> R_X86_64_TPOFF64 sg2
39 # GD against local variable
40 +1030: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
42 # -> R_X86_64_DTPMOD64 [0 0x2000000000000000]
43 +1038: 66 66 48 e8 [0-9a-f ]+data16 data16 rex.W callq [0-9a-f]+ <.*>
44 # -> R_X86_64_JUMP_SLOT __tls_get_addr
50 # GD -> IE against local variable referenced through IE too
51 +1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
53 +104d: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x140>
54 # -> R_X86_64_TPOFF64 *ABS*+0x24
59 # GD against hidden and local variable
60 +1058: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
62 # -> R_X86_64_DTPMOD64 [0 0x4000000000000000]
63 +1060: 66 66 48 e8 [0-9a-f ]+data16 data16 rex.W callq [0-9a-f]+ <.*>
64 # -> R_X86_64_JUMP_SLOT __tls_get_addr
70 # GD -> IE against hidden and local variable referenced through IE too
71 +106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
73 +1075: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1b8>
74 # -> R_X86_64_TPOFF64 *ABS*+0x44
79 # GD against hidden but not local variable
80 +1080: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
82 # -> R_X86_64_DTPMOD64 [0 0x6000000000000000]
83 +1088: 66 66 48 e8 [0-9a-f ]+data16 data16 rex.W callq [0-9a-f]+ <.*>
84 # -> R_X86_64_JUMP_SLOT __tls_get_addr
90 # GD -> IE against hidden but not local variable referenced through IE too
91 +1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
93 +109d: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170>
94 # -> R_X86_64_TPOFF64 *ABS*+0x64
100 +10a8: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
101 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
102 +10af: e8 [0-9a-f ]+callq [0-9a-f]+ <.*>
103 # -> R_X86_64_JUMP_SLOT __tls_get_addr
106 +10b6: 48 8d 90 20 00 00 00[ ]+lea 0x20\(%rax\),%rdx
109 +10bf: 4c 8d 88 26 00 00 00[ ]+lea 0x26\(%rax\),%r9
114 # LD against hidden and local variables
115 +10ca: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
116 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
117 +10d1: e8 [0-9a-f ]+callq [0-9a-f]+ <.*>
118 # -> R_X86_64_JUMP_SLOT __tls_get_addr
121 +10d8: 48 8d 90 40 00 00 00[ ]+lea 0x40\(%rax\),%rdx
124 +10e1: 48 8d 88 47 00 00 00[ ]+lea 0x47\(%rax\),%rcx
129 # LD against hidden but not local variables
130 +10ec: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
131 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
132 +10f3: e8 [0-9a-f ]+callq [0-9a-f]+ <.*>
133 # -> R_X86_64_JUMP_SLOT __tls_get_addr
136 +10fa: 4c 8d a0 60 00 00 00[ ]+lea 0x60\(%rax\),%r12
139 +1103: 48 8d 88 65 00 00 00[ ]+lea 0x65\(%rax\),%rcx
142 # IE against global var
143 +110c: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
147 +1117: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x1a0>
148 # -> R_X86_64_TPOFF64 sg2
153 # IE against local var
154 +1122: 64 4c 8b 34 25 00 00[ ]+mov %fs:0x0,%r14
158 +112d: 4c 03 35 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r14 +# [0-9a-f]+ <_DYNAMIC\+0x140>
159 # -> R_X86_64_TPOFF64 *ABS*+0x24
164 # IE against hidden and local var
165 +1138: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
169 +1143: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x1b8>
170 # -> R_X86_64_TPOFF64 *ABS*+0x44
175 # IE against hidden but not local var
176 +114e: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
180 +1159: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x170>
181 # -> R_X86_64_TPOFF64 *ABS*+0x64
186 # Direct access through %fs
187 # IE against global var
188 +1164: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178>
189 # -> R_X86_64_TPOFF64 sg5
192 +116d: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx
197 # IE against local var
198 +1175: 4c 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%r10 +# [0-9a-f]+ <_DYNAMIC\+0x148>
199 # -> R_X86_64_TPOFF64 *ABS*+0x30
202 +117e: 64 4d 8b 22[ ]+mov %fs:\(%r10\),%r12
207 # IE against hidden and local var
208 +1186: 48 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rdx +# [0-9a-f]+ <_DYNAMIC\+0x190>
209 # -> R_X86_64_TPOFF64 *ABS*+0x50
212 +118f: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx
217 # IE against hidden but not local var
218 +1197: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x198>
219 # -> R_X86_64_TPOFF64 *ABS*+0x70
222 +11a0: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx
227 +11a8: 49 bb ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%r11
228 +11af: ([0-9a-f]{2} ){3}
229 +11b2: 53[ ]+push %rbx
230 +11b3: 53[ ]+push %rbx
231 +11b4: 48 8d 1d ed ff ff ff[ ]+lea -0x13\(%rip\),%rbx +# [0-9a-f]+ <fn1\+0x[0-9a-f]+>
232 +11bb: 4c 01 db[ ]+add %r11,%rbx
237 # -mcmodel=large sequences
240 +11c2: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
241 # -> R_X86_64_DTPMOD64 sg1
242 +11c9: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
243 # -> R_X86_64_JUMP_SLOT __tls_get_addr
244 +11d0: ([0-9a-f]{2} ){3}
245 +11d3: 48 01 d8[ ]+add %rbx,%rax
246 +11d6: ff d0[ ]+callq \*%rax
251 # -mcmodel=large GD -> IE because variable is referenced through IE too
252 # -> R_X86_64_TPOFF64 sg2
253 +11dc: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
255 +11e5: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1a0>
256 # -> R_X86_64_TPOFF64 sg2
257 +11ec: 66 0f 1f 44 00 00[ ]+nopw 0x0\(%rax,%rax,1\)
262 # -mcmodel=large GD against local variable
263 +11f6: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
264 # -> R_X86_64_DTPMOD64 [0 0x2000000000000000]
265 +11fd: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
266 # -> R_X86_64_JUMP_SLOT __tls_get_addr
267 +1204: ([0-9a-f]{2} ){3}
268 +1207: 48 01 d8[ ]+add %rbx,%rax
269 +120a: ff d0[ ]+callq \*%rax
274 # -mcmodel=large GD -> IE against local variable referenced through IE too
275 +1210: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
277 +1219: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x140>
278 # -> R_X86_64_TPOFF64 *ABS*+0x24
279 +1220: 66 0f 1f 44 00 00[ ]+nopw 0x0\(%rax,%rax,1\)
284 # -mcmodel=large GD against hidden and local variable
285 +122a: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
286 # -> R_X86_64_DTPMOD64 [0 0x4000000000000000]
287 +1231: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
288 # -> R_X86_64_JUMP_SLOT __tls_get_addr
289 +1238: ([0-9a-f]{2} ){3}
290 +123b: 48 01 d8[ ]+add %rbx,%rax
291 +123e: ff d0[ ]+callq \*%rax
296 # -mcmodel=large GD -> IE against hidden and local variable referenced through IE too
297 +1244: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
299 +124d: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1b8>
300 # -> R_X86_64_TPOFF64 *ABS*+0x44
301 +1254: 66 0f 1f 44 00 00[ ]+nopw 0x0\(%rax,%rax,1\)
306 # -mcmodel=large GD against hidden but not local variable
307 +125e: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
308 # -> R_X86_64_DTPMOD64 [0 0x6000000000000000]
309 +1265: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
310 # -> R_X86_64_JUMP_SLOT __tls_get_addr
311 +126c: ([0-9a-f]{2} ){3}
312 +126f: 48 01 d8[ ]+add %rbx,%rax
313 +1272: ff d0[ ]+callq \*%rax
318 # -mcmodel=large GD -> IE against hidden but not local variable referenced through IE too
319 +1278: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
321 +1281: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170>
322 # -> R_X86_64_TPOFF64 *ABS*+0x64
323 +1288: 66 0f 1f 44 00 00[ ]+nopw 0x0\(%rax,%rax,1\)
329 +1292: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
330 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
331 +1299: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
332 # -> R_X86_64_JUMP_SLOT __tls_get_addr
333 +12a0: ([0-9a-f]{2} ){3}
334 +12a3: 48 01 d8[ ]+add %rbx,%rax
335 +12a6: ff d0[ ]+callq \*%rax
338 +12aa: 48 8d 90 20 00 00 00[ ]+lea 0x20\(%rax\),%rdx
341 +12b3: 4c 8d 88 26 00 00 00[ ]+lea 0x26\(%rax\),%r9
346 # -mcmodel=large LD against hidden and local variables
347 +12be: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
348 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
349 +12c5: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
350 # -> R_X86_64_JUMP_SLOT __tls_get_addr
351 +12cc: ([0-9a-f]{2} ){3}
352 +12cf: 48 01 d8[ ]+add %rbx,%rax
353 +12d2: ff d0[ ]+callq \*%rax
356 +12d6: 48 8d 90 40 00 00 00[ ]+lea 0x40\(%rax\),%rdx
359 +12df: 48 8d 88 47 00 00 00[ ]+lea 0x47\(%rax\),%rcx
364 # -mcmodel=large LD against hidden but not local variables
365 +12ea: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150>
366 # -> R_X86_64_DTPMOD64 [0 0x000000000000000]
367 +12f1: 48 b8 ([0-9a-f]{2} ){5}[ ]+movabs \$0x[0-9a-f]+,%rax
368 # -> R_X86_64_JUMP_SLOT __tls_get_addr
369 +12f8: ([0-9a-f]{2} ){3}
370 +12fb: 48 01 d8[ ]+add %rbx,%rax
371 +12fe: ff d0[ ]+callq \*%rax
374 +1302: 4c 8d a0 60 00 00 00[ ]+lea 0x60\(%rax\),%r12
377 +130b: 48 8d 88 65 00 00 00[ ]+lea 0x65\(%rax\),%rcx
382 +1316: 5b[ ]+pop %rbx
383 +1317: 5b[ ]+pop %rbx