* elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
[binutils.git] / ld / testsuite / ld-s390 / tlspic_64.dd
blobfea16712aa0f6826bcfbd2fb42342a6bc1c014a2
1 #source: tlspic1.s
2 #source: tlspic2.s
3 #as: -m64 -Aesame
4 #ld: -shared -melf64_s390
5 #objdump: -dzrj.text
6 #target: s390x-*-*
8 .*: +file format elf64-s390
10 Disassembly of section .text:
12 0+[0-9a-f]+ <fn1>:
13 # function prolog
14  +[0-9a-f]+:    eb 6e f0 30 00 24       stmg    %r6,%r14,48\(%r15\)
15  +[0-9a-f]+:    a7 d5 00 56             bras    %r13,[0-9a-f]+ <fn1\+0xb2>
16 # sg1@tlsgd
17  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
18  +[0-9a-f]+:    00 00 00 70             .long   0x00000070
19 # sg2@tlsgd
20  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
21  +[0-9a-f]+:    00 00 00 90             .long   0x00000090
22 # sl1@tlsgd
23  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
24  +[0-9a-f]+:    00 00 00 20             .long   0x00000020
25 # sl2@tlsgd
26  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
27  +[0-9a-f]+:    00 00 00 30             .long   0x00000030
28 # sh1@tlsgd
29  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
30  +[0-9a-f]+:    00 00 00 98             .long   0x00000098
31 # sh2@tlsgd
32  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
33  +[0-9a-f]+:    00 00 00 a8             .long   0x000000a8
34 # sH1@tlsgd
35  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
36  +[0-9a-f]+:    00 00 00 50             .long   0x00000050
37 # sH2@tlsgd
38  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
39  +[0-9a-f]+:    00 00 00 60             .long   0x00000060
40 # sl1@tlsldm
41  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
42  +[0-9a-f]+:    00 00 00 40             .long   0x00000040
43 # sl1@dtpoff
44  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
45  +[0-9a-f]+:    00 00 00 20             .long   0x00000020
46 # sl2@dtpoff
47  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
48  +[0-9a-f]+:    00 00 00 24             .long   0x00000024
49 # sh1@tlsldm
50  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
51  +[0-9a-f]+:    00 00 00 40             .long   0x00000040
52 # sh1@dtpoff
53  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
54  +[0-9a-f]+:    00 00 00 40             .long   0x00000040
55 # sh2@dtpoff
56  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
57  +[0-9a-f]+:    00 00 00 44             .long   0x00000044
58 # sH1@tlsldm
59  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
60  +[0-9a-f]+:    00 00 00 40             .long   0x00000040
61 # sH1@dtpoff
62  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
63  +[0-9a-f]+:    00 00 00 60             .long   0x00000060
64 # sH2@dtpoff
65  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
66  +[0-9a-f]+:    00 00 00 64             .long   0x00000064
67 # sg2@gotntpoff
68  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
69  +[0-9a-f]+:    00 00 00 90             .long   0x00000090
70 # sl2@gotntpoff
71  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
72  +[0-9a-f]+:    00 00 00 30             .long   0x00000030
73 # sh2@gotntpoff
74  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
75  +[0-9a-f]+:    00 00 00 a8             .long   0x000000a8
76 # sH2@gotntpoff
77  +[0-9a-f]+:    00 00 00 00             .long   0x00000000
78  +[0-9a-f]+:    00 00 00 60             .long   0x00000060
79 # function prolog
80  +[0-9a-f]+:    b9 04 00 ef             lgr     %r14,%r15
81  +[0-9a-f]+:    c0 c0 [0-9a-f ]+        larl    %r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
82  +[0-9a-f]+:    a7 fb ff 60             aghi    %r15,-160
83  +[0-9a-f]+:    e3 e0 e0 00 00 24       stg     %r14,0\(%r14\)
84 # extract TCB
85  +[0-9a-f]+:    b2 4f 00 90             ear     %r9,%a0
86  +[0-9a-f]+:    eb 94 00 20 00 0d       sllg    %r9,%r4,32
87  +[0-9a-f]+:    b2 4f 00 91             ear     %r9,%a1
88 # GD
89  +[0-9a-f]+:    e3 20 d0 00 00 04       lg      %r2,0\(%r13\)
90  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
91  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
92 # GD -> IE because variable is referenced through IE too
93  +[0-9a-f]+:    e3 20 d0 08 00 04       lg      %r2,8\(%r13\)
94  +[0-9a-f]+:    e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
95  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
96 # GD against local variable
97  +[0-9a-f]+:    e3 20 d0 10 00 04       lg      %r2,16\(%r13\)
98  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
99  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
100 # GD -> IE against local variable referenced through IE too
101  +[0-9a-f]+:    e3 20 d0 18 00 04       lg      %r2,24\(%r13\)
102  +[0-9a-f]+:    e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
103  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
104 # GD against hidden and local variable
105  +[0-9a-f]+:    e3 20 d0 20 00 04       lg      %r2,32\(%r13\)
106  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
107  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
108 # GD -> IE against hidden and local variable referenced through
109 # IE too
110  +[0-9a-f]+:    e3 20 d0 28 00 04       lg      %r2,40\(%r13\)
111  +[0-9a-f]+:    e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
112  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
113 # GD against hidden but not local variable
114  +[0-9a-f]+:    e3 20 d0 30 00 04       lg      %r2,48\(%r13\)
115  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
116  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
117 # GD -> IE against hidden but not local variable referenced through
118 # IE too
119  +[0-9a-f]+:    e3 20 d0 38 00 04       lg      %r2,56\(%r13\)
120  +[0-9a-f]+:    e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
121  +[0-9a-f]+:    41 22 90 00             la      %r2,0\(%r2,%r9\)
122 # LD
123  +[0-9a-f]+:    e3 20 d0 40 00 04       lg      %r2,64\(%r13\)
124  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
125  +[0-9a-f]+:    41 32 90 00             la      %r3,0\(%r2,%r9\)
126  +[0-9a-f]+:    e3 40 d0 48 00 04       lg      %r4,72\(%r13\)
127  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
128  +[0-9a-f]+:    e3 40 d0 50 00 04       lg      %r4,80\(%r13\)
129  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
130 # LD against hidden and local variables
131  +[0-9a-f]+:    e3 20 d0 58 00 04       lg      %r2,88\(%r13\)
132  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
133  +[0-9a-f]+:    41 32 90 00             la      %r3,0\(%r2,%r9\)
134  +[0-9a-f]+:    e3 40 d0 60 00 04       lg      %r4,96\(%r13\)
135  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
136  +[0-9a-f]+:    e3 40 d0 68 00 04       lg      %r4,104\(%r13\)
137  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
138 # LD against hidden but not local variables
139  +[0-9a-f]+:    e3 20 d0 70 00 04       lg      %r2,112\(%r13\)
140  +[0-9a-f]+:    c0 e5 [0-9a-f ]+        brasl   %r14,[0-9a-f]+ <.*>
141  +[0-9a-f]+:    41 32 90 00             la      %r3,0\(%r2,%r9\)
142  +[0-9a-f]+:    e3 40 d0 78 00 04       lg      %r4,120\(%r13\)
143  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
144  +[0-9a-f]+:    e3 40 d0 80 00 04       lg      %r4,128\(%r13\)
145  +[0-9a-f]+:    41 54 30 00             la      %r5,0\(%r4,%r3\)
146 # IE against global var
147  +[0-9a-f]+:    e3 30 d0 88 00 04       lg      %r3,136\(%r13\)
148  +[0-9a-f]+:    e3 33 c0 00 00 04       lg      %r3,0\(%r3,%r12\)
149  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
150 # IE against local var
151  +[0-9a-f]+:    e3 30 d0 90 00 04       lg      %r3,144\(%r13\)
152  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
153  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
154 # IE against hidden and local var
155  +[0-9a-f]+:    e3 30 d0 98 00 04       lg      %r3,152\(%r13\)
156  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
157  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
158 # IE against hidden but not local var
159  +[0-9a-f]+:    e3 30 d0 a0 00 04       lg      %r3,160\(%r13\)
160  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
161  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
162 # IE against global var with larl got access
163  +[0-9a-f]+:    c0 30 [0-9a-f ]+        larl    %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x68>
164  +[0-9a-f]+:    e3 33 c0 00 00 04       lg      %r3,0\(%r3,%r12\)
165  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
166 # IE against local var with larl got access
167  +[0-9a-f]+:    c0 30 [0-9a-f ]+        larl    %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
168  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
169  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
170 # IE against hidden and local var with larl got access
171  +[0-9a-f]+:    c0 30 [0-9a-f ]+        larl    %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x80>
172  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
173  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
174 # IE against hidden but not local var with larl got access
175  +[0-9a-f]+:    c0 30 [0-9a-f ]+        larl    %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x88>
176  +[0-9a-f]+:    e3 43 c0 00 00 04       lg      %r4,0\(%r3,%r12\)
177  +[0-9a-f]+:    41 54 90 00             la      %r5,0\(%r4,%r9\)
178 # IE against global var with small got access (no optimization)
179  +[0-9a-f]+:    e3 30 c0 68 00 04       lg      %r3,104\(%r12\)
180  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
181 # IE against local var with small got access (no optimization)
182  +[0-9a-f]+:    e3 30 c0 38 00 04       lg      %r3,56\(%r12\)
183  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
184 # IE against hidden and local var with small got access
185 # (no optimization)
186  +[0-9a-f]+:    e3 30 c0 80 00 04       lg      %r3,128\(%r12\)
187  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
188 # IE against hidden but not local var with small got access
189 # (no optimization)
190  +[0-9a-f]+:    e3 30 c0 88 00 04       lg      %r3,136\(%r12\)
191  +[0-9a-f]+:    41 33 90 00             la      %r3,0\(%r3,%r9\)
192 # function epilog
193  +[0-9a-f]+:    eb 6e f0 d0 00 04       lmg     %r6,%r14,208\(%r15\)
194  +[0-9a-f]+:    07 fe                   br      %r14
195  +[0-9a-f]+:    07 07                   bcr     0,%r7
196  +[0-9a-f]+:    07 07                   bcr     0,%r7
197  +[0-9a-f]+:    07 07                   bcr     0,%r7
198  +[0-9a-f]+:    07 07                   bcr     0,%r7
199  +[0-9a-f]+:    07 07                   bcr     0,%r7
200  +[0-9a-f]+:    07 07                   bcr     0,%r7
201  +[0-9a-f]+:    07 07                   bcr     0,%r7
202  +[0-9a-f]+:    07 07                   bcr     0,%r7