Properly display extra data/address size prefixes
[platform/upstream/binutils.git] / ld / testsuite / ld-x86-64 / tlsgdesc.dd
1 #source: tlsgdesc.s
2 #as: --64
3 #ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
4 #objdump: -drj.text
5 #target: x86_64-*-*
6
7 .*: +file format elf64-x86-64.*
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 *
23  +[0-9a-f]+:    48 03 0d ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x150>
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 *
34  +[0-9a-f]+:    48 03 0d ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x170>
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
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>
42  +[0-9a-f]+:    [0-9a-f]{2} *
43 #                               -> R_X86_64_DTPMOD64    sG1
44  +[0-9a-f]+:    66 66 48 e8 ([0-9a-f]{2} ){3}[  ]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
45  +[0-9a-f]+:    [0-9a-f]{2} *
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 *
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>
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
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>
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 *
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>
67  +[0-9a-f]+:    [0-9a-f]{2} *
68 #                               -> R_X86_64_DTPMOD64    sG2
69  +[0-9a-f]+:    66 66 48 e8 ([0-9a-f]{2} ){3}[  ]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
70  +[0-9a-f]+:    [0-9a-f]{2} *
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 *
79  +[0-9a-f]+:    48 03 05 ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150>
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 *
85  +[0-9a-f]+:    48 8b 05 ([0-9a-f]{2} ){4}[     ]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150>
86 #                               -> R_X86_64_TPOFF64     sG3
87  +[0-9a-f]+:    66 90[  ]+xchg   %ax,%ax
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
93  +[0-9a-f]+:    48 8b 05 ([0-9a-f]{2} ){4}[     ]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170>
94 #                               -> R_X86_64_TPOFF64     sG4
95  +[0-9a-f]+:    66 90[  ]+xchg   %ax,%ax
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 *
102  +[0-9a-f]+:    48 03 05 ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170>
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 *
111  +[0-9a-f]+:    48 03 05 ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158>
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 *
117  +[0-9a-f]+:    48 8b 05 ([0-9a-f]{2} ){4}[     ]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158>
118 #                               -> R_X86_64_TPOFF64     sG5
119  +[0-9a-f]+:    66 90[  ]+xchg   %ax,%ax
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
125  +[0-9a-f]+:    48 8b 05 ([0-9a-f]{2} ){4}[     ]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178>
126 #                               -> R_X86_64_TPOFF64     sG6
127  +[0-9a-f]+:    66 90[  ]+xchg   %ax,%ax
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 *
134  +[0-9a-f]+:    48 03 05 ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178>
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 *
145  +[0-9a-f]+:    48 03 0d ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x158>
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 *
156  +[0-9a-f]+:    48 03 0d ([0-9a-f]{2} ){4}[     ]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178>
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 *