]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - ld/testsuite/ld-s390/tlsbin.dd
Import the binutils-2_15-branch from the sourceware CVS repository,
[FreeBSD/FreeBSD.git] / ld / testsuite / ld-s390 / tlsbin.dd
1 #source: tlsbinpic.s
2 #source: tlsbin.s
3 #as: -m31
4 #ld: -shared -melf_s390
5 #objdump: -dzrj.text
6 #target: s390-*-*
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 elf32-s390
18
19 Disassembly of section .text:
20
21 0+4002e4 <fn2>:
22 # function prolog
23  +4002e4:       90 6e f0 18             stm     %r6,%r14,24\(%r15\)
24  +4002e8:       a7 d5 00 24             bras    %r13,400330 <fn2\+0x4c>
25 # _GLOBAL_OFFSET_TABLE_
26  +4002ec:       00 00 12 90             .long   0x00001290
27 # __tls_get_addr@plt-.LT1
28  +4002f0:       ff ff ff d8             .long   0xffffffd8
29 # sG1@tlsgd
30  +4002f4:       00 00 00 28             .long   0x00000028
31 # sG2@tlsgd
32  +4002f8:       00 00 00 20             .long   0x00000020
33 # sg1@tlsgd
34  +4002fc:       ff ff ff 60             .long   0xffffff60
35 # sl1@tlsgd
36  +400300:       ff ff ff 80             .long   0xffffff80
37 # sh1@tlsgd
38  +400304:       ff ff ff a0             .long   0xffffffa0
39 # sl1@tlsldm
40  +400308:       00 00 00 00             .long   0x00000000
41 # sl1@dtpoff
42  +40030c:       ff ff ff 80             .long   0xffffff80
43 # sl2@dtpoff
44  +400310:       ff ff ff 84             .long   0xffffff84
45 # sh1@tlsldm
46  +400314:       00 00 00 00             .long   0x00000000
47 # sh1@dtpoff
48  +400318:       ff ff ff a0             .long   0xffffffa0
49 # sh2@dtpoff
50  +40031c:       ff ff ff a4             .long   0xffffffa4
51 # sG2@gotntpoff
52  +400320:       00 00 00 20             .long   0x00000020
53 # sg1@gotntpoff
54  +400324:       ff ff ff 60             .long   0xffffff60
55 # sl1@gotntpoff
56  +400328:       ff ff ff 80             .long   0xffffff80
57 # sh1@gotntpoff
58  +40032c:       ff ff ff a0             .long   0xffffffa0
59 # function prolog
60  +400330:       18 ef                   lr      %r14,%r15
61  +400332:       58 c0 d0 00             l       %r12,0\(%r13\)
62  +400336:       a7 fa ff a0             ahi     %r15,-96
63  +40033a:       41 cc d0 00             la      %r12,0\(%r12,%r13\)
64  +40033e:       50 e0 e0 00             st      %r14,0\(%r14\)
65 # Extract TCB and load branch offset
66  +400342:       b2 4f 00 90             ear     %r9,%a0
67  +400346:       58 70 d0 04             l       %r7,4\(%r13\)
68 # GD -> IE because variable is not defined in executable
69  +40034a:       58 20 d0 08             l       %r2,8\(%r13\)
70  +40034e:       58 22 c0 00             l       %r2,0\(%r2,%r12\)
71  +400352:       41 22 90 00             la      %r2,0\(%r2,%r9\)
72 # GD -> IE because variable is not defined in executable where
73 # the variable is referenced through IE too
74  +400356:       58 20 d0 0c             l       %r2,12\(%r13\)
75  +40035a:       58 22 c0 00             l       %r2,0\(%r2,%r12\)
76  +40035e:       41 22 90 00             la      %r2,0\(%r2,%r9\)
77 # GD -> LE with global variable defined in executable
78  +400362:       58 20 d0 10             l       %r2,16\(%r13\)
79  +400366:       47 00 00 00             bc      0,0
80  +40036a:       41 22 90 00             la      %r2,0\(%r2,%r9\)
81 # GD -> LE with local variable defined in executable
82  +40036e:       58 20 d0 14             l       %r2,20\(%r13\)
83  +400372:       47 00 00 00             bc      0,0
84  +400376:       41 22 90 00             la      %r2,0\(%r2,%r9\)
85 # GD -> LE with hidden variable defined in executable
86  +40037a:       58 20 d0 18             l       %r2,24\(%r13\)
87  +40037e:       47 00 00 00             bc      0,0
88  +400382:       41 22 90 00             la      %r2,0\(%r2,%r9\)
89 # LD -> LE
90  +400386:       58 20 d0 1c             l       %r2,28\(%r13\)
91  +40038a:       47 00 00 00             bc      0,0
92  +40038e:       41 32 90 00             la      %r3,0\(%r2,%r9\)
93  +400392:       58 40 d0 20             l       %r4,32\(%r13\)
94  +400396:       41 54 30 00             la      %r5,0\(%r4,%r3\)
95  +40039a:       58 40 d0 24             l       %r4,36\(%r13\)
96  +40039e:       41 54 30 00             la      %r5,0\(%r4,%r3\)
97 # LD -> LE against hidden variables
98  +4003a2:       58 20 d0 28             l       %r2,40\(%r13\)
99  +4003a6:       47 00 00 00             bc      0,0
100  +4003aa:       41 32 90 00             la      %r3,0\(%r2,%r9\)
101  +4003ae:       58 40 d0 2c             l       %r4,44\(%r13\)
102  +4003b2:       41 54 30 00             la      %r5,0\(%r4,%r3\)
103  +4003b6:       58 40 d0 30             l       %r4,48\(%r13\)
104  +4003ba:       41 54 30 00             la      %r5,0\(%r4,%r3\)
105 # IE against global var
106  +4003be:       58 30 d0 34             l       %r3,52\(%r13\)
107  +4003c2:       58 33 c0 00             l       %r3,0\(%r3,%r12\)
108  +4003c6:       58 33 90 00             l       %r3,0\(%r3,%r9\)
109 # IE -> LE against global var defined in exec
110  +4003ca:       58 30 d0 38             l       %r3,56\(%r13\)
111  +4003ce:       18 43                   lr      %r4,%r3
112  +4003d0:       07 00                   bcr     0,%r0
113  +4003d2:       41 54 90 00             la      %r5,0\(%r4,%r9\)
114 # IE -> LE against local var
115  +4003d6:       58 30 d0 3c             l       %r3,60\(%r13\)
116  +4003da:       18 43                   lr      %r4,%r3
117  +4003dc:       07 00                   bcr     0,%r0
118  +4003de:       41 54 90 00             la      %r5,0\(%r4,%r9\)
119 # IE -> LE against hidden var
120  +4003e2:       58 30 d0 40             l       %r3,64\(%r13\)
121  +4003e6:       18 43                   lr      %r4,%r3
122  +4003e8:       07 00                   bcr     0,%r0
123  +4003ea:       41 54 90 00             la      %r5,0\(%r4,%r9\)
124 # IE against global var with small got access (no optimization)
125  +4003ee:       58 30 c0 14             l       %r3,20\(%r12\)
126  +4003f2:       41 33 90 00             la      %r3,0\(%r3,%r9\)
127 # IE against global var defined in exec with small got access
128 # (no optimization)
129  +4003f6:       58 30 c0 18             l       %r3,24\(%r12\)
130  +4003fa:       41 33 90 00             la      %r3,0\(%r3,%r9\)
131 # IE against local var with small got access (no optimization)
132  +4003fe:       58 30 c0 10             l       %r3,16\(%r12\)
133  +400402:       41 33 90 00             la      %r3,0\(%r3,%r9\)
134 # IE against hidden var with small got access (no optimization)
135  +400406:       58 30 c0 1c             l       %r3,28\(%r12\)
136  +40040a:       41 33 90 00             la      %r3,0\(%r3,%r9\)
137 # function epilog
138  +40040e:       98 6e f0 78             lm      %r6,%r14,120\(%r15\)
139  +400412:       07 fe                   br      %r14
140
141 0+400414 <_start>:
142 # function prolog
143  +400414:       90 6e f0 18             stm     %r6,%r14,24\(%r15\)
144  +400418:       a7 d5 00 0c             bras    %r13,400430 <_start\+0x1c>
145 # sG6@indntpoff
146  +40041c:       00 40 15 a0             .long   0x004015a0
147 # bg6@indntpoff
148  +400420:       ff ff ff d4             .long   0xffffffd4
149 # bl6@indntpoff
150  +400424:       ff ff ff f4             .long   0xfffffff4
151 # sh6@indntpoff
152  +400428:       ff ff ff b4             .long   0xffffffb4
153 # sg3@indntpoff
154  +40042c:       ff ff ff 68             .long   0xffffff68
155 # function prolog
156  +400430:       18 ef                   lr      %r14,%r15
157  +400432:       a7 fa ff a0             ahi     %r15,-96
158  +400436:       50 e0 e0 00             st      %r14,0\(%r14\)
159 # Extract TCB
160  +40043a:       b2 4f 00 90             ear     %r9,%a0
161 # IE against global var
162  +40043e:       58 30 d0 00             l       %r3,0\(%r13\)
163  +400442:       58 33 c0 00             l       %r3,0\(%r3,%r12\)
164  +400446:       41 33 90 00             la      %r3,0\(%r3,%r9\)
165 # IE -> LE against global var defined in exec
166  +40044a:       58 30 d0 04             l       %r3,4\(%r13\)
167  +40044e:       18 43                   lr      %r4,%r3
168  +400450:       07 00                   bcr     0,%r0
169  +400452:       41 54 90 00             la      %r5,0\(%r4,%r9\)
170 # IE -> LE against local var
171  +400456:       58 30 d0 08             l       %r3,8\(%r13\)
172  +40045a:       18 43                   lr      %r4,%r3
173  +40045c:       07 00                   bcr     0,%r0
174  +40045e:       41 54 90 00             la      %r5,0\(%r4,%r9\)
175 # IE -> LE against hidden but not local var
176  +400462:       58 30 d0 0c             l       %r3,12\(%r13\)
177  +400466:       18 43                   lr      %r4,%r3
178  +400468:       07 00                   bcr     0,%r0
179  +40046a:       41 54 90 00             la      %r5,0\(%r4,%r9\)
180 # LE, global var defined in exec
181  +40046e:       58 40 d0 10             l       %r4,16\(%r13\)
182  +400472:       41 54 90 00             la      %r5,0\(%r4,%r9\)
183 # function epilog
184  +400476:       98 6e f0 78             lm      %r6,%r14,120\(%r15\)
185  +40047a:       07 fe                   br      %r14