4
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
8
.*: +file format elf64-x86-64.*
10
Disassembly of section .text:
13
+[0-9a-f]+: 55[ ]+push %rbp
14
+[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp
15
+[0-9a-f]+: 90[ ]+nop *
16
+[0-9a-f]+: 90[ ]+nop *
17
+[0-9a-f]+: 90[ ]+nop *
18
+[0-9a-f]+: 90[ ]+nop *
20
+[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x48>
21
# -> R_X86_64_TLSDESC sg1
22
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
23
+[0-9a-f]+: 90[ ]+nop *
24
+[0-9a-f]+: 90[ ]+nop *
25
+[0-9a-f]+: 90[ ]+nop *
26
+[0-9a-f]+: 90[ ]+nop *
27
# GD -> IE because variable is referenced through IE too
28
+[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x180>
29
# -> R_X86_64_TPOFF64 sg2
30
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
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
# GD against local variable
36
+[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x18>
37
# -> R_X86_64_TLSDESC [0 0x2000000000000000]
38
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
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 -> IE against local variable referenced through IE too
44
+[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150>
45
# -> R_X86_64_TPOFF64 *ABS*+0x24
46
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
47
+[0-9a-f]+: 90[ ]+nop *
48
+[0-9a-f]+: 90[ ]+nop *
49
+[0-9a-f]+: 90[ ]+nop *
50
+[0-9a-f]+: 90[ ]+nop *
51
# GD against hidden and local variable
52
+[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x58>
53
# -> R_X86_64_TLSDESC [0 0x4000000000000000]
54
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
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
# GD -> IE against hidden and local variable referenced through IE too
60
+[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x188>
61
# -> R_X86_64_TPOFF64 *ABS*+0x44
62
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
63
+[0-9a-f]+: 90[ ]+nop *
64
+[0-9a-f]+: 90[ ]+nop *
65
+[0-9a-f]+: 90[ ]+nop *
66
+[0-9a-f]+: 90[ ]+nop *
67
# GD against hidden but not local variable
68
+[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x28>
69
# -> R_X86_64_TLSDESC [0 0x6000000000000000]
70
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
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
# GD -> IE against hidden but not local variable referenced through IE too
76
+[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x160>
77
# -> R_X86_64_TPOFF64 *ABS*+0x64
78
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
79
+[0-9a-f]+: 90[ ]+nop *
80
+[0-9a-f]+: 90[ ]+nop *
81
+[0-9a-f]+: 90[ ]+nop *
82
+[0-9a-f]+: 90[ ]+nop *
84
+[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x38>
85
# -> R_X86_64_TLSDESC [0 0x000000000000000]
86
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
87
+[0-9a-f]+: 90[ ]+nop *
88
+[0-9a-f]+: 90[ ]+nop *
89
+[0-9a-f]+: 48 8d 90 20 00 00 00[ ]+lea 0x20\(%rax\),%rdx
90
+[0-9a-f]+: 90[ ]+nop *
91
+[0-9a-f]+: 90[ ]+nop *
92
+[0-9a-f]+: 4c 8d 88 26 00 00 00[ ]+lea 0x26\(%rax\),%r9
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
# LD against hidden and local variables
98
+[0-9a-f]+: 48 8d 90 40 00 00 00[ ]+lea 0x40\(%rax\),%rdx
99
+[0-9a-f]+: 90[ ]+nop *
100
+[0-9a-f]+: 90[ ]+nop *
101
+[0-9a-f]+: 48 8d 88 47 00 00 00[ ]+lea 0x47\(%rax\),%rcx
102
+[0-9a-f]+: 90[ ]+nop *
103
+[0-9a-f]+: 90[ ]+nop *
104
+[0-9a-f]+: 90[ ]+nop *
105
+[0-9a-f]+: 90[ ]+nop *
106
# LD against hidden but not local variables
107
+[0-9a-f]+: 4c 8d a0 60 00 00 00[ ]+lea 0x60\(%rax\),%r12
108
+[0-9a-f]+: 90[ ]+nop *
109
+[0-9a-f]+: 90[ ]+nop *
110
+[0-9a-f]+: 48 8d 88 65 00 00 00[ ]+lea 0x65\(%rax\),%rcx
111
+[0-9a-f]+: 90[ ]+nop *
112
+[0-9a-f]+: 90[ ]+nop *
113
# IE against global var
114
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
116
+[0-9a-f]+: 90[ ]+nop *
117
+[0-9a-f]+: 90[ ]+nop *
118
+[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x180>
119
# -> R_X86_64_TPOFF64 sg2
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
# IE against local var
125
+[0-9a-f]+: 64 4c 8b 34 25 00 00[ ]+mov %fs:0x0,%r14
127
+[0-9a-f]+: 90[ ]+nop *
128
+[0-9a-f]+: 90[ ]+nop *
129
+[0-9a-f]+: 4c 03 35 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r14 +# [0-9a-f]+ <_DYNAMIC\+0x150>
130
# -> R_X86_64_TPOFF64 *ABS*+0x24
131
+[0-9a-f]+: 90[ ]+nop *
132
+[0-9a-f]+: 90[ ]+nop *
133
+[0-9a-f]+: 90[ ]+nop *
134
+[0-9a-f]+: 90[ ]+nop *
135
# IE against hidden and local var
136
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
138
+[0-9a-f]+: 90[ ]+nop *
139
+[0-9a-f]+: 90[ ]+nop *
140
+[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x188>
141
# -> R_X86_64_TPOFF64 *ABS*+0x44
142
+[0-9a-f]+: 90[ ]+nop *
143
+[0-9a-f]+: 90[ ]+nop *
144
+[0-9a-f]+: 90[ ]+nop *
145
+[0-9a-f]+: 90[ ]+nop *
146
# IE against hidden but not local var
147
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
149
+[0-9a-f]+: 90[ ]+nop *
150
+[0-9a-f]+: 90[ ]+nop *
151
+[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x160>
152
# -> R_X86_64_TPOFF64 *ABS*+0x64
153
+[0-9a-f]+: 90[ ]+nop *
154
+[0-9a-f]+: 90[ ]+nop *
155
+[0-9a-f]+: 90[ ]+nop *
156
+[0-9a-f]+: 90[ ]+nop *
157
# Direct access through %fs
158
# IE against global var
159
+[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x168>
160
# -> R_X86_64_TPOFF64 sg5
161
+[0-9a-f]+: 90[ ]+nop *
162
+[0-9a-f]+: 90[ ]+nop *
163
+[0-9a-f]+: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx
164
+[0-9a-f]+: 90[ ]+nop *
165
+[0-9a-f]+: 90[ ]+nop *
166
+[0-9a-f]+: 90[ ]+nop *
167
+[0-9a-f]+: 90[ ]+nop *
168
# IE against local var
169
+[0-9a-f]+: 4c 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%r10 +# [0-9a-f]+ <_DYNAMIC\+0x158>
170
# -> R_X86_64_TPOFF64 *ABS*+0x30
171
+[0-9a-f]+: 90[ ]+nop *
172
+[0-9a-f]+: 90[ ]+nop *
173
+[0-9a-f]+: 64 4d 8b 22[ ]+mov %fs:\(%r10\),%r12
174
+[0-9a-f]+: 90[ ]+nop *
175
+[0-9a-f]+: 90[ ]+nop *
176
+[0-9a-f]+: 90[ ]+nop *
177
+[0-9a-f]+: 90[ ]+nop *
178
# IE against hidden and local var
179
+[0-9a-f]+: 48 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rdx +# [0-9a-f]+ <_DYNAMIC\+0x170>
180
# -> R_X86_64_TPOFF64 *ABS*+0x50
181
+[0-9a-f]+: 90[ ]+nop *
182
+[0-9a-f]+: 90[ ]+nop *
183
+[0-9a-f]+: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx
184
+[0-9a-f]+: 90[ ]+nop *
185
+[0-9a-f]+: 90[ ]+nop *
186
+[0-9a-f]+: 90[ ]+nop *
187
+[0-9a-f]+: 90[ ]+nop *
188
# IE against hidden but not local var
189
+[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178>
190
# -> R_X86_64_TPOFF64 *ABS*+0x70
191
+[0-9a-f]+: 90[ ]+nop *
192
+[0-9a-f]+: 90[ ]+nop *
193
+[0-9a-f]+: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx
194
+[0-9a-f]+: 90[ ]+nop *
195
+[0-9a-f]+: 90[ ]+nop *
196
+[0-9a-f]+: 90[ ]+nop *
197
+[0-9a-f]+: 90[ ]+nop *
198
+[0-9a-f]+: c9[ ]+leaveq *
199
+[0-9a-f]+: c3[ ]+retq *