* ld-elf/linkonce1.d: Accept "UNUSED" as part of the name of an
[binutils.git] / ld / testsuite / ld-x86-64 / tlsdesc.dd
blob9b0ae6109157bb5a0697f8bd31a6a1eaab02dc83
1 #source: tlsdesc.s
2 #source: tlspic2.s
3 #as: --64
4 #ld: -shared -melf_x86_64
5 #objdump: -drj.text
6 #target: x86_64-*-*
8 .*: +file format elf64-x86-64
10 Disassembly of section .text:
12 0+[0-9a-f]+ <fn1>:
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 *
19 #  GD
20  +[0-9a-f]+:    48 8d 05 89 03 20 00[   ]+lea    0x200389\(%rip\),%rax +# 201398 <.*>
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 1c 03 20 00[   ]+mov    0x20031c\(%rip\),%rax +# 201338 <.*>
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 3f 03 20 00[   ]+lea    0x20033f\(%rip\),%rax +# 201368 <.*>
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 d2 02 20 00[   ]+mov    0x2002d2\(%rip\),%rax +# 201308 <.*>
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 65 03 20 00[   ]+lea    0x200365\(%rip\),%rax +# 2013a8 <.*>
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 f0 02 20 00[   ]+mov    0x2002f0\(%rip\),%rax +# 201340 <.*>
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 1b 03 20 00[   ]+lea    0x20031b\(%rip\),%rax +# 201378 <.*>
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 ae 02 20 00[   ]+mov    0x2002ae\(%rip\),%rax +# 201318 <.*>
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 *
83 #  LD
84  +[0-9a-f]+:    48 8d 05 11 03 20 00[   ]+lea    0x200311\(%rip\),%rax +# 201388 <.*>
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
115  +[0-9a-f]+:    00 00 *
116  +[0-9a-f]+:    90[     ]+nop *
117  +[0-9a-f]+:    90[     ]+nop *
118  +[0-9a-f]+:    48 03 0d 71 02 20 00[   ]+add    0x200271\(%rip\),%rcx +# 201338 <.*>
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
126  +[0-9a-f]+:    00 00 *
127  +[0-9a-f]+:    90[     ]+nop *
128  +[0-9a-f]+:    90[     ]+nop *
129  +[0-9a-f]+:    4c 03 35 2b 02 20 00[   ]+add    0x20022b\(%rip\),%r14 +# 201308 <.*>
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
137  +[0-9a-f]+:    00 00 *
138  +[0-9a-f]+:    90[     ]+nop *
139  +[0-9a-f]+:    90[     ]+nop *
140  +[0-9a-f]+:    48 03 0d 4d 02 20 00[   ]+add    0x20024d\(%rip\),%rcx +# 201340 <.*>
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
148  +[0-9a-f]+:    00 00 *
149  +[0-9a-f]+:    90[     ]+nop *
150  +[0-9a-f]+:    90[     ]+nop *
151  +[0-9a-f]+:    48 03 0d 0f 02 20 00[   ]+add    0x20020f\(%rip\),%rcx +# 201318 <.*>
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 0c 02 20 00[   ]+mov    0x20020c\(%rip\),%rcx +# 201320 <.*>
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 eb 01 20 00[   ]+mov    0x2001eb\(%rip\),%r10 +# 201310 <.*>
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 f2 01 20 00[   ]+mov    0x2001f2\(%rip\),%rdx +# 201328 <.*>
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 e9 01 20 00[   ]+mov    0x2001e9\(%rip\),%rcx +# 201330 <.*>
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 *
200  +[0-9a-f]+:    90[     ]+nop *