1#source: tlspic1.s
2#source: tlspic2.s
3#as: -m64 -Aesame
4#ld: -shared -melf64_s390
5#objdump: -dzrj.text
6#target: s390x-*-*
7
8.*: +file format elf64-s390
9
10Disassembly of section .text:
11
120+[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             	nopr	%r7
196 +[0-9a-f]+:	07 07             	nopr	%r7
197 +[0-9a-f]+:	07 07             	nopr	%r7
198 +[0-9a-f]+:	07 07             	nopr	%r7
199 +[0-9a-f]+:	07 07             	nopr	%r7
200 +[0-9a-f]+:	07 07             	nopr	%r7
201 +[0-9a-f]+:	07 07             	nopr	%r7
202 +[0-9a-f]+:	07 07             	nopr	%r7
203