clarify the purpose of this project
[nyanglibc.git] / sunrpc / clnt_raw.shared.s
blob6a92d67dce15dfdb62a1d252cc700c298c34d1fa
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_clntraw_create, clntraw_create@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type clntraw_geterr, @function
10 clntraw_geterr:
11 rep ret
12 .size clntraw_geterr, .-clntraw_geterr
13 .p2align 4,,15
14 .type clntraw_abort, @function
15 clntraw_abort:
16 rep ret
17 .size clntraw_abort, .-clntraw_abort
18 .p2align 4,,15
19 .type clntraw_control, @function
20 clntraw_control:
21 xorl %eax, %eax
22 ret
23 .size clntraw_control, .-clntraw_control
24 .p2align 4,,15
25 .type clntraw_destroy, @function
26 clntraw_destroy:
27 rep ret
28 .size clntraw_destroy, .-clntraw_destroy
29 .p2align 4,,15
30 .type clntraw_freeres, @function
31 clntraw_freeres:
32 pushq %rbp
33 pushq %rbx
34 movq %rdx, %rbp
35 movq %rsi, %rbx
36 subq $8, %rsp
37 call __rpc_thread_variables
38 movq 184(%rax), %rax
39 testq %rax, %rax
40 je .L7
41 movl $2, 24(%rax)
42 addq $8, %rsp
43 movq %rbp, %rsi
44 movq %rbx, %rcx
45 leaq 24(%rax), %rdi
46 xorl %eax, %eax
47 popq %rbx
48 popq %rbp
49 jmp *%rcx
50 .p2align 4,,10
51 .p2align 3
52 .L7:
53 addq $8, %rsp
54 movl $16, %eax
55 popq %rbx
56 popq %rbp
57 ret
58 .size clntraw_freeres, .-clntraw_freeres
59 .p2align 4,,15
60 .type clntraw_call, @function
61 clntraw_call:
62 pushq %r15
63 pushq %r14
64 movq %rdx, %r14
65 pushq %r13
66 pushq %r12
67 movq %rdi, %r13
68 pushq %rbp
69 pushq %rbx
70 subq $200, %rsp
71 movq %rsi, 56(%rsp)
72 movq %rcx, 24(%rsp)
73 movq %r8, 32(%rsp)
74 movq %r9, 40(%rsp)
75 call __rpc_thread_variables
76 movq 184(%rax), %rbx
77 testq %rbx, %rbx
78 je .L17
79 leaq 8872(%rbx), %rax
80 leaq 24(%rbx), %rbp
81 leaq 96(%rsp), %r12
82 movq %rax, 8(%rsp)
83 leaq 56(%rsp), %rax
84 movq %rax, 16(%rsp)
85 leaq 64(%rsp), %rax
86 movq %rax, 48(%rsp)
87 jmp .L11
88 .p2align 4,,10
89 .p2align 3
90 .L12:
91 movq 32(%rbx), %rax
92 movq 16(%rsp), %rsi
93 movq %rbp, %rdi
94 call *8(%rax)
95 testl %eax, %eax
96 je .L13
97 movq 0(%r13), %rdi
98 movq %rbp, %rsi
99 movq 56(%rdi), %rax
100 call *8(%rax)
101 testl %eax, %eax
102 je .L13
103 xorl %eax, %eax
104 movq 24(%rsp), %rsi
105 movq %rbp, %rdi
106 call *%r14
107 testl %eax, %eax
108 je .L13
109 movq 32(%rbx), %rax
110 movq %rbp, %rdi
111 call *32(%rax)
112 movl $1, %edi
113 call __GI_svc_getreq
114 movq 32(%rbx), %rax
115 xorl %esi, %esi
116 movq %rbp, %rdi
117 movl $1, 24(%rbx)
118 call *40(%rax)
119 movq 16+__GI__null_auth(%rip), %rax
120 movq %r12, %rsi
121 movq %rbp, %rdi
122 movdqu __GI__null_auth(%rip), %xmm0
123 movq %rax, 136(%rsp)
124 movq 40(%rsp), %rax
125 movups %xmm0, 120(%rsp)
126 movq %rax, 152(%rsp)
127 movq 32(%rsp), %rax
128 movq %rax, 160(%rsp)
129 call __GI_xdr_replymsg
130 testl %eax, %eax
131 je .L18
132 movq 48(%rsp), %rsi
133 movq %r12, %rdi
134 call __GI__seterr_reply
135 movl 64(%rsp), %r15d
136 movq 0(%r13), %rdi
137 testl %r15d, %r15d
138 je .L33
139 movq 56(%rdi), %rax
140 call *24(%rax)
141 testl %eax, %eax
142 je .L9
143 .L11:
144 movq 32(%rbx), %rax
145 xorl %esi, %esi
146 movq %rbp, %rdi
147 movl $0, 24(%rbx)
148 call *40(%rax)
149 movq 32(%rbx), %rax
150 addq $1, 8872(%rbx)
151 movq %rbp, %rdi
152 movl 8896(%rbx), %edx
153 movq 8(%rsp), %rsi
154 call *24(%rax)
155 testl %eax, %eax
156 jne .L12
157 .L13:
158 movl $1, %r15d
159 .L9:
160 addq $200, %rsp
161 movl %r15d, %eax
162 popq %rbx
163 popq %rbp
164 popq %r12
165 popq %r13
166 popq %r14
167 popq %r15
169 .p2align 4,,10
170 .p2align 3
171 .L17:
172 movl $16, %r15d
173 jmp .L9
174 .p2align 4,,10
175 .p2align 3
176 .L18:
177 movl $2, %r15d
178 jmp .L9
179 .p2align 4,,10
180 .p2align 3
181 .L33:
182 movq 56(%rdi), %rax
183 addq $24, %r12
184 movq %r12, %rsi
185 call *16(%rax)
186 testl %eax, %eax
187 je .L34
188 movq 0(%r13), %rdi
189 movq %r12, %rsi
190 movq 56(%rdi), %rax
191 call *16(%rax)
192 testl %eax, %eax
193 movl $7, %eax
194 cmove %eax, %r15d
195 cmpq $0, 128(%rsp)
196 je .L9
197 movl $2, 24(%rbx)
198 movq %r12, %rsi
199 movq %rbp, %rdi
200 call __GI_xdr_opaque_auth
201 jmp .L9
202 .L34:
203 movl $7, %r15d
204 jmp .L9
205 .size clntraw_call, .-clntraw_call
206 .section .rodata.str1.8,"aMS",@progbits,1
207 .align 8
208 .LC0:
209 .string "clnt_raw.c: fatal header serialization error"
210 .text
211 .p2align 4,,15
212 .globl __GI_clntraw_create
213 .hidden __GI_clntraw_create
214 .type __GI_clntraw_create, @function
215 __GI_clntraw_create:
216 pushq %r14
217 pushq %r13
218 movq %rdi, %r14
219 pushq %r12
220 pushq %rbp
221 movq %rsi, %r13
222 pushq %rbx
223 subq $96, %rsp
224 call __rpc_thread_variables
225 movq 184(%rax), %rbx
226 testq %rbx, %rbx
227 je .L45
228 .L36:
229 leaq 24(%rbx), %rbp
230 leaq 8872(%rbx), %rsi
231 xorl %ecx, %ecx
232 movl $24, %edx
233 movl $0, 8(%rsp)
234 movq $2, 16(%rsp)
235 movq %rbp, %rdi
236 movq %r14, 24(%rsp)
237 movq %r13, 32(%rsp)
238 call __GI_xdrmem_create
239 movq %rsp, %rsi
240 movq %rbp, %rdi
241 movq %rbx, %r12
242 call __GI_xdr_callhdr
243 testl %eax, %eax
244 je .L46
245 .L38:
246 movq 32(%rbx), %rax
247 movq %rbp, %rdi
248 call *32(%rax)
249 movl %eax, 8896(%rbx)
250 movq 32(%rbx), %rax
251 movq 56(%rax), %rax
252 testq %rax, %rax
253 je .L39
254 movq %rbp, %rdi
255 call *%rax
256 .L39:
257 leaq 72(%rbx), %rsi
258 movl $2, %ecx
259 movl $8800, %edx
260 movq %rbp, %rdi
261 call __GI_xdrmem_create
262 leaq client_ops(%rip), %rax
263 movq %rax, 8(%rbx)
264 call __GI_authnone_create
265 movq %rax, (%rbx)
266 .L35:
267 addq $96, %rsp
268 movq %r12, %rax
269 popq %rbx
270 popq %rbp
271 popq %r12
272 popq %r13
273 popq %r14
275 .p2align 4,,10
276 .p2align 3
277 .L46:
278 leaq .LC0(%rip), %rsi
279 leaq __GI__libc_intl_domainname(%rip), %rdi
280 movl $5, %edx
281 call __GI___dcgettext
282 movq %rax, %rdi
283 call __GI_perror
284 jmp .L38
285 .p2align 4,,10
286 .p2align 3
287 .L45:
288 movl $8904, %esi
289 movl $1, %edi
290 movq %rax, %rbp
291 call calloc@PLT
292 testq %rax, %rax
293 movq %rax, %rbx
294 je .L40
295 movq %rax, 184(%rbp)
296 jmp .L36
297 .p2align 4,,10
298 .p2align 3
299 .L40:
300 xorl %r12d, %r12d
301 jmp .L35
302 .size __GI_clntraw_create, .-__GI_clntraw_create
303 .globl __EI_clntraw_create
304 .set __EI_clntraw_create,__GI_clntraw_create
305 .section .data.rel.ro.local,"aw",@progbits
306 .align 32
307 .type client_ops, @object
308 .size client_ops, 48
309 client_ops:
310 .quad clntraw_call
311 .quad clntraw_abort
312 .quad clntraw_geterr
313 .quad clntraw_freeres
314 .quad clntraw_destroy
315 .quad clntraw_control
316 .hidden __rpc_thread_variables