* ld-s390/s390.exp: New file.
[external/binutils.git] / ld / testsuite / ld-s390 / tlsbin_64.dd
1 #source: tlsbinpic_64.s
2 #source: tlsbin_64.s
3 #as: -m64 -Aesame
4 #ld: -shared -melf64_s390
5 #objdump: -dzrj.text
6 #target: s390x-*-*
7
8 # PT_TLS layout is:
9 # Offset from   Offset from     Name
10 # TCB base      TCB end
11 # 0x00          -0xa0           sg1..sg2
12 # 0x20          -0x80           sl1..sl2
13 # 0x40          -0x60           sh1..sh2
14 # 0x60          -0x40           bg1..bg2
15 # 0x80          -0x20           bl1..bl2
16
17 .*: +file format elf64-s390
18
19 Disassembly of section .text:
20
21 0+80000458 <fn2>:
22 # function prolog
23  +80000458:     eb 6e f0 30 00 24       stmg    %r6,%r14,48\(%r15\)
24  +8000045e:     a7 d5 00 3e             bras    %r13,800004da <fn2\+0x82>
25 # sG1@tlsgd
26  +80000462:     00 00 00 00             .long   0x00000000
27  +80000466:     00 00 00 60             .long   0x00000060
28 # sG2@tlsgd
29  +8000046a:     00 00 00 00             .long   0x00000000
30  +8000046e:     00 00 00 48             .long   0x00000048
31 # sg1@tlsgd
32  +80000472:     ff ff ff ff             .long   0xffffffff
33  +80000476:     ff ff ff 60             .long   0xffffff60
34 # sl1@tlsgd
35  +8000047a:     ff ff ff ff             .long   0xffffffff
36  +8000047e:     ff ff ff 80             .long   0xffffff80
37 # sh1@tlsgd
38  +80000482:     ff ff ff ff             .long   0xffffffff
39  +80000486:     ff ff ff a0             .long   0xffffffa0
40 # sl1@tlsldm
41  +8000048a:     00 00 00 00             .long   0x00000000
42  +8000048e:     00 00 00 00             .long   0x00000000
43 # sl1@dtpoff
44  +80000492:     ff ff ff ff             .long   0xffffffff
45  +80000496:     ff ff ff 80             .long   0xffffff80
46 # sl2@dtpoff
47  +8000049a:     ff ff ff ff             .long   0xffffffff
48  +8000049e:     ff ff ff 84             .long   0xffffff84
49 # sh1@tlsldm
50  +800004a2:     00 00 00 00             .long   0x00000000
51  +800004a6:     00 00 00 00             .long   0x00000000
52 # sh1@dtpoff
53  +800004aa:     ff ff ff ff             .long   0xffffffff
54  +800004ae:     ff ff ff a0             .long   0xffffffa0
55 # sh2@dtpoff
56  +800004b2:     ff ff ff ff             .long   0xffffffff
57  +800004b6:     ff ff ff a4             .long   0xffffffa4
58 # sG2@gotntpoff
59  +800004ba:     00 00 00 00             .long   0x00000000
60  +800004be:     00 00 00 48             .long   0x00000048
61 # sg1@gotntpoff
62  +800004c2:     ff ff ff ff             .long   0xffffffff
63  +800004c6:     ff ff ff 60             .long   0xffffff60
64 # sl1@gotntpoff
65  +800004ca:     ff ff ff ff             .long   0xffffffff
66  +800004ce:     ff ff ff 80             .long   0xffffff80
67 # sh1@gotntpoff
68  +800004d2:     ff ff ff ff             .long   0xffffffff
69  +800004d6:     ff ff ff a0             .long   0xffffffa0
70 # function prolog
71  +800004da:     b9 04 00 ef             lgr     %r14,%r15
72  +800004de:     a7 fb ff 60             aghi    %r15,-160
73  +800004e2:     c0 c0 00 00 09 d3       larl    %r12,80001888 <_GLOBAL_OFFSET_TABLE_>
74  +800004e8:     e3 e0 e0 00 00 24       stg     %r14,0\(%r14\)
75 # extract TCB
76  +800004ee:     b2 4f 00 90             ear     %r9,%a0
77  +800004f2:     eb 94 00 20 00 0d       sllg    %r9,%r4,32
78  +800004f8:     b2 4f 00 91             ear     %r9,%a1
79 # GD -> IE because variable is not defined in executable
80  +800004fc:     e3 c0 d0 00 00 04       lg      %r12,0\(%r13\)
81  +80000502:     e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
82  +80000508:     41 22 90 00             la      %r2,0\(%r2,%r9\)
83 # GD -> IE because variable is not defined in executable where
84 # the variable is referenced through IE too
85  +8000050c:     e3 20 d0 08 00 04       lg      %r2,8\(%r13\)
86  +80000512:     e3 22 c0 00 00 04       lg      %r2,0\(%r2,%r12\)
87  +80000518:     41 22 90 00             la      %r2,0\(%r2,%r9\)
88 # GD -> LE with global variable defined in executable
89  +8000051c:     e3 20 d0 10 00 04       lg      %r2,16\(%r13\)
90  +80000522:     c0 04 00 00 00 00       brcl    0,80000522 <fn2\+0xca>
91  +80000528:     41 22 90 00             la      %r2,0\(%r2,%r9\)
92 # GD -> LE with local variable defined in executable
93  +8000052c:     e3 20 d0 18 00 04       lg      %r2,24\(%r13\)
94  +80000532:     c0 04 00 00 00 00       brcl    0,80000532 <fn2\+0xda>
95  +80000538:     41 22 90 00             la      %r2,0\(%r2,%r9\)
96 # GD -> LE with hidden variable defined in executable
97  +8000053c:     e3 20 d0 20 00 04       lg      %r2,32\(%r13\)
98  +80000542:     c0 04 00 00 00 00       brcl    0,80000542 <fn2\+0xea>
99  +80000548:     41 22 90 00             la      %r2,0\(%r2,%r9\)
100 # LD -> LE
101  +8000054c:     e3 20 d0 28 00 04       lg      %r2,40\(%r13\)
102  +80000552:     c0 04 00 00 00 00       brcl    0,80000552 <fn2\+0xfa>
103  +80000558:     41 32 90 00             la      %r3,0\(%r2,%r9\)
104  +8000055c:     e3 40 d0 30 00 04       lg      %r4,48\(%r13\)
105  +80000562:     41 54 30 00             la      %r5,0\(%r4,%r3\)
106  +80000566:     e3 40 d0 38 00 04       lg      %r4,56\(%r13\)
107  +8000056c:     41 54 30 00             la      %r5,0\(%r4,%r3\)
108  +80000570:     e3 20 d0 40 00 04       lg      %r2,64\(%r13\)
109  +80000576:     c0 04 00 00 00 00       brcl    0,80000576 <fn2\+0x11e>
110  +8000057c:     41 32 90 00             la      %r3,0\(%r2,%r9\)
111  +80000580:     e3 40 d0 48 00 04       lg      %r4,72\(%r13\)
112  +80000586:     41 54 30 00             la      %r5,0\(%r4,%r3\)
113  +8000058a:     e3 40 d0 50 00 04       lg      %r4,80\(%r13\)
114  +80000590:     41 54 30 00             la      %r5,0\(%r4,%r3\)
115 # IE against global var
116  +80000594:     e3 30 d0 58 00 04       lg      %r3,88\(%r13\)
117  +8000059a:     e3 33 c0 00 00 04       lg      %r3,0\(%r3,%r12\)
118  +800005a0:     41 33 90 00             la      %r3,0\(%r3,%r9\)
119 # IE -> LE against global var defined in exec
120  +800005a4:     e3 30 d0 60 00 04       lg      %r3,96\(%r13\)
121  +800005aa:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
122  +800005b0:     41 54 90 00             la      %r5,0\(%r4,%r9\)
123 # IE -> LE against local var
124  +800005b4:     e3 30 d0 68 00 04       lg      %r3,104\(%r13\)
125  +800005ba:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
126  +800005c0:     41 54 90 00             la      %r5,0\(%r4,%r9\)
127 # IE -> LE against hidden var
128  +800005c4:     e3 30 d0 70 00 04       lg      %r3,112\(%r13\)
129  +800005ca:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
130  +800005d0:     41 54 90 00             la      %r5,0\(%r4,%r9\)
131 # IE against global var with larl got access
132  +800005d4:     c0 30 00 00 09 6e       larl    %r3,800018b0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x28>
133  +800005da:     e3 33 c0 00 00 04       lg      %r3,0\(%r3,%r12\)
134  +800005e0:     41 33 90 00             la      %r3,0\(%r3,%r9\)
135 # IE against global var defined in exec with larl got access
136  +800005e4:     c0 30 00 00 09 6e       larl    %r3,800018c0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
137  +800005ea:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
138  +800005f0:     41 54 90 00             la      %r5,0\(%r4,%r9\)
139 # IE against local var with larl got access
140  +800005f4:     c0 30 00 00 09 5a       larl    %r3,800018a8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x20>
141  +800005fa:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
142  +80000600:     41 54 90 00             la      %r5,0\(%r4,%r9\)
143 # IE against hidden var with larl got access
144  +80000604:     c0 30 00 00 09 62       larl    %r3,800018c8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x40>
145  +8000060a:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
146  +80000610:     41 54 90 00             la      %r5,0\(%r4,%r9\)
147 # IE against global var with small got access (no optimization)
148  +80000614:     e3 30 c0 28 00 04       lg      %r3,40\(%r12\)
149  +8000061a:     41 33 90 00             la      %r3,0\(%r3,%r9\)
150 # IE against global var defined in exec with small got access
151 # (no optimization)
152  +8000061e:     e3 30 c0 38 00 04       lg      %r3,56\(%r12\)
153  +80000624:     41 33 90 00             la      %r3,0\(%r3,%r9\)
154 # IE against local var with small got access (no optimization)
155  +80000628:     e3 30 c0 20 00 04       lg      %r3,32\(%r12\)
156  +8000062e:     41 33 90 00             la      %r3,0\(%r3,%r9\)
157 # IE against hidden var with small got access (no optimization)
158  +80000632:     e3 30 c0 40 00 04       lg      %r3,64\(%r12\)
159  +80000638:     41 33 90 00             la      %r3,0\(%r3,%r9\)
160 # function epilog
161  +8000063c:     eb 6e f0 d0 00 04       lmg     %r6,%r14,208\(%r15\)
162  +80000642:     07 fe                   br      %r14
163
164 0+80000644 <_start>:
165 # function prolog
166  +80000644:     90 6e f0 18             stm     %r6,%r14,24\(%r15\)
167  +80000648:     a7 d5 00 16             bras    %r13,80000674 <_start\+0x30>
168 # sG6@indntpoff
169  +8000064c:     00 00 00 00             .long   0x00000000
170  +80000650:     80 00 18 e0             ssm     2272\(%r1\)
171 # bg6@indntpoff
172  +80000654:     ff ff ff ff             .long   0xffffffff
173  +80000658:     ff ff ff d4             .long   0xffffffd4
174 # bl6@indntpoff
175  +8000065c:     ff ff ff ff             .long   0xffffffff
176  +80000660:     ff ff ff f4             .long   0xfffffff4
177 # sh6@indntpoff
178  +80000664:     ff ff ff ff             .long   0xffffffff
179  +80000668:     ff ff ff b4             .long   0xffffffb4
180 # sg3@indntpoff
181  +8000066c:     ff ff ff ff             .long   0xffffffff
182  +80000670:     ff ff ff 68             .long   0xffffff68
183 # function prolog
184  +80000674:     b9 04 00 ef             lgr     %r14,%r15
185  +80000678:     a7 fb ff 60             aghi    %r15,-160
186  +8000067c:     e3 e0 e0 00 00 24       stg     %r14,0\(%r14\)
187 # extract TCB
188  +80000682:     b2 4f 00 90             ear     %r9,%a0
189  +80000686:     eb 94 00 20 00 0d       sllg    %r9,%r4,32
190  +8000068c:     b2 4f 00 91             ear     %r9,%a1
191 # IE against global var
192  +80000690:     e3 30 d0 00 00 04       lg      %r3,0\(%r13\)
193  +80000696:     e3 33 c0 00 00 04       lg      %r3,0\(%r3,%r12\)
194  +8000069c:     41 33 90 00             la      %r3,0\(%r3,%r9\)
195 # IE -> LE against global var defined in exec
196  +800006a0:     e3 30 d0 08 00 04       lg      %r3,8\(%r13\)
197  +800006a6:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
198  +800006ac:     41 54 90 00             la      %r5,0\(%r4,%r9\)
199 # IE -> LE against local var
200  +800006b0:     e3 30 d0 10 00 04       lg      %r3,16\(%r13\)
201  +800006b6:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
202  +800006bc:     41 54 90 00             la      %r5,0\(%r4,%r9\)
203 # IE -> LE against hidden but not local var
204  +800006c0:     e3 30 d0 18 00 04       lg      %r3,24\(%r13\)
205  +800006c6:     eb 43 00 00 00 0d       sllg    %r4,%r3,0
206  +800006cc:     41 54 90 00             la      %r5,0\(%r4,%r9\)
207 # LE, global var defined in exec
208  +800006d0:     e3 40 d0 20 00 04       lg      %r4,32\(%r13\)
209  +800006d6:     41 54 90 00             la      %r5,0\(%r4,%r9\)
210 # function epilog
211  +800006da:     eb 6e f0 d0 00 04       lmg     %r6,%r14,208\(%r15\)
212  +800006e0:     07 fe                   br      %r14
213  +800006e2:     07 07                   bcr     0,%r7