Commit | Line | Data |
---|---|---|
67a4f2b7 AO |
1 | #source: tlsgdesc.s |
2 | #as: --64 | |
e41b3a13 | 3 | #ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
67a4f2b7 AO |
4 | #objdump: -drj.text |
5 | #target: x86_64-*-* | |
6 | ||
5a68afcf | 7 | .*: +file format elf64-x86-64.* |
67a4f2b7 AO |
8 | |
9 | Disassembly of section .text: | |
10 | ||
11 | 0+[0-9a-f]+ <fc1>: | |
12 | +[0-9a-f]+: 55[ ]+push %rbp | |
13 | +[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp | |
14 | +[0-9a-f]+: 90[ ]+nop * | |
15 | +[0-9a-f]+: 90[ ]+nop * | |
16 | +[0-9a-f]+: 90[ ]+nop * | |
17 | +[0-9a-f]+: 90[ ]+nop * | |
18 | # IE | |
19 | +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
20 | +[0-9a-f]+: 00 00 * | |
21 | +[0-9a-f]+: 90[ ]+nop * | |
22 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 23 | +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x150> |
67a4f2b7 AO |
24 | # -> R_X86_64_TPOFF64 sG3 |
25 | +[0-9a-f]+: 90[ ]+nop * | |
26 | +[0-9a-f]+: 90[ ]+nop * | |
27 | +[0-9a-f]+: 90[ ]+nop * | |
28 | +[0-9a-f]+: 90[ ]+nop * | |
29 | # IE | |
30 | +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
31 | +[0-9a-f]+: 00 00 * | |
32 | +[0-9a-f]+: 90[ ]+nop * | |
33 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 34 | +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x170> |
67a4f2b7 AO |
35 | # -> R_X86_64_TPOFF64 sG4 |
36 | +[0-9a-f]+: 90[ ]+nop * | |
37 | +[0-9a-f]+: 90[ ]+nop * | |
38 | +[0-9a-f]+: 90[ ]+nop * | |
39 | +[0-9a-f]+: 90[ ]+nop * | |
40 | # GD, gd first | |
df18fdba | 41 | +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180> |
5a68afcf | 42 | +[0-9a-f]+: [0-9a-f]{2} * |
67a4f2b7 | 43 | # -> R_X86_64_DTPMOD64 sG1 |
a72d2af2 | 44 | +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data16 data16 rex.W callq [0-9a-f]+ <__tls_get_addr@plt> |
5a68afcf | 45 | +[0-9a-f]+: [0-9a-f]{2} * |
67a4f2b7 AO |
46 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
47 | +[0-9a-f]+: 90[ ]+nop * | |
48 | +[0-9a-f]+: 90[ ]+nop * | |
49 | +[0-9a-f]+: 90[ ]+nop * | |
50 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 51 | +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x30> |
67a4f2b7 AO |
52 | # -> R_X86_64_TLSDESC sG1 |
53 | +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) | |
54 | +[0-9a-f]+: 90[ ]+nop * | |
55 | +[0-9a-f]+: 90[ ]+nop * | |
56 | +[0-9a-f]+: 90[ ]+nop * | |
57 | +[0-9a-f]+: 90[ ]+nop * | |
58 | # GD, desc first | |
5a68afcf | 59 | +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20> |
67a4f2b7 AO |
60 | # -> R_X86_64_TLSDESC sG2 |
61 | +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) | |
62 | +[0-9a-f]+: 90[ ]+nop * | |
63 | +[0-9a-f]+: 90[ ]+nop * | |
64 | +[0-9a-f]+: 90[ ]+nop * | |
65 | +[0-9a-f]+: 90[ ]+nop * | |
df18fdba | 66 | +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160> |
5a68afcf | 67 | +[0-9a-f]+: [0-9a-f]{2} * |
67a4f2b7 | 68 | # -> R_X86_64_DTPMOD64 sG2 |
a72d2af2 | 69 | +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data16 data16 rex.W callq [0-9a-f]+ <__tls_get_addr@plt> |
5a68afcf | 70 | +[0-9a-f]+: [0-9a-f]{2} * |
67a4f2b7 AO |
71 | # -> R_X86_64_JUMP_SLOT __tls_get_addr |
72 | +[0-9a-f]+: 90[ ]+nop * | |
73 | +[0-9a-f]+: 90[ ]+nop * | |
74 | +[0-9a-f]+: 90[ ]+nop * | |
75 | +[0-9a-f]+: 90[ ]+nop * | |
76 | # GD -> IE, gd first, after IE use | |
77 | +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
78 | +[0-9a-f]+: 00 00 * | |
5a68afcf | 79 | +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150> |
67a4f2b7 AO |
80 | # -> R_X86_64_TPOFF64 sG3 |
81 | +[0-9a-f]+: 90[ ]+nop * | |
82 | +[0-9a-f]+: 90[ ]+nop * | |
83 | +[0-9a-f]+: 90[ ]+nop * | |
84 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 85 | +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150> |
67a4f2b7 | 86 | # -> R_X86_64_TPOFF64 sG3 |
10efb593 | 87 | +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
67a4f2b7 AO |
88 | +[0-9a-f]+: 90[ ]+nop * |
89 | +[0-9a-f]+: 90[ ]+nop * | |
90 | +[0-9a-f]+: 90[ ]+nop * | |
91 | +[0-9a-f]+: 90[ ]+nop * | |
92 | # GD -> IE, desc first, after IE use | |
5a68afcf | 93 | +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170> |
67a4f2b7 | 94 | # -> R_X86_64_TPOFF64 sG4 |
10efb593 | 95 | +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
67a4f2b7 AO |
96 | +[0-9a-f]+: 90[ ]+nop * |
97 | +[0-9a-f]+: 90[ ]+nop * | |
98 | +[0-9a-f]+: 90[ ]+nop * | |
99 | +[0-9a-f]+: 90[ ]+nop * | |
100 | +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
101 | +[0-9a-f]+: 00 00 * | |
5a68afcf | 102 | +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170> |
67a4f2b7 AO |
103 | # -> R_X86_64_TPOFF64 sG4 |
104 | +[0-9a-f]+: 90[ ]+nop * | |
105 | +[0-9a-f]+: 90[ ]+nop * | |
106 | +[0-9a-f]+: 90[ ]+nop * | |
107 | +[0-9a-f]+: 90[ ]+nop * | |
108 | # GD -> IE, gd first, before IE use | |
109 | +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
110 | +[0-9a-f]+: 00 00 * | |
5a68afcf | 111 | +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158> |
67a4f2b7 AO |
112 | # -> R_X86_64_TPOFF64 sG5 |
113 | +[0-9a-f]+: 90[ ]+nop * | |
114 | +[0-9a-f]+: 90[ ]+nop * | |
115 | +[0-9a-f]+: 90[ ]+nop * | |
116 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 117 | +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158> |
67a4f2b7 | 118 | # -> R_X86_64_TPOFF64 sG5 |
10efb593 | 119 | +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
67a4f2b7 AO |
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 | # GD -> IE, desc first, before IE use | |
5a68afcf | 125 | +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178> |
67a4f2b7 | 126 | # -> R_X86_64_TPOFF64 sG6 |
10efb593 | 127 | +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
67a4f2b7 AO |
128 | +[0-9a-f]+: 90[ ]+nop * |
129 | +[0-9a-f]+: 90[ ]+nop * | |
130 | +[0-9a-f]+: 90[ ]+nop * | |
131 | +[0-9a-f]+: 90[ ]+nop * | |
132 | +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax | |
133 | +[0-9a-f]+: 00 00 * | |
5a68afcf | 134 | +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178> |
67a4f2b7 AO |
135 | # -> R_X86_64_TPOFF64 sG6 |
136 | +[0-9a-f]+: 90[ ]+nop * | |
137 | +[0-9a-f]+: 90[ ]+nop * | |
138 | +[0-9a-f]+: 90[ ]+nop * | |
139 | +[0-9a-f]+: 90[ ]+nop * | |
140 | # IE | |
141 | +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
142 | +[0-9a-f]+: 00 00 * | |
143 | +[0-9a-f]+: 90[ ]+nop * | |
144 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 145 | +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x158> |
67a4f2b7 AO |
146 | # -> R_X86_64_TPOFF64 sG5 |
147 | +[0-9a-f]+: 90[ ]+nop * | |
148 | +[0-9a-f]+: 90[ ]+nop * | |
149 | +[0-9a-f]+: 90[ ]+nop * | |
150 | +[0-9a-f]+: 90[ ]+nop * | |
151 | # IE | |
152 | +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx | |
153 | +[0-9a-f]+: 00 00 * | |
154 | +[0-9a-f]+: 90[ ]+nop * | |
155 | +[0-9a-f]+: 90[ ]+nop * | |
5a68afcf | 156 | +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178> |
67a4f2b7 AO |
157 | # -> R_X86_64_TPOFF64 sG6 |
158 | +[0-9a-f]+: 90[ ]+nop * | |
159 | +[0-9a-f]+: 90[ ]+nop * | |
160 | +[0-9a-f]+: 90[ ]+nop * | |
161 | +[0-9a-f]+: 90[ ]+nop * | |
162 | +[0-9a-f]+: c9[ ]+leaveq * | |
163 | +[0-9a-f]+: c3[ ]+retq * |