clarify the purpose of this project
[nyanglibc.git] / sunrpc / rpc_prot.shared.s
blobbcb9179f4bac870487ab98f60cdaf2082f6a2ac9
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_xdr_opaque_auth, xdr_opaque_auth@GLIBC_2.2.5
7 .symver __EI_xdr_des_block, xdr_des_block@GLIBC_2.2.5
8 .symver __EI_xdr_accepted_reply, xdr_accepted_reply@GLIBC_2.2.5
9 .symver __EI_xdr_rejected_reply, xdr_rejected_reply@GLIBC_2.2.5
10 .symver __EI_xdr_replymsg, xdr_replymsg@GLIBC_2.2.5
11 .symver __EI_xdr_callhdr, xdr_callhdr@GLIBC_2.2.5
12 .symver __EI__seterr_reply, _seterr_reply@GLIBC_2.2.5
13 #NO_APP
14 .p2align 4,,15
15 .globl __GI_xdr_rejected_reply
16 .hidden __GI_xdr_rejected_reply
17 .type __GI_xdr_rejected_reply, @function
18 __GI_xdr_rejected_reply:
19 pushq %rbp
20 pushq %rbx
21 movq %rdi, %rbp
22 movq %rsi, %rbx
23 subq $8, %rsp
24 call __GI_xdr_enum
25 testl %eax, %eax
26 je .L1
27 movl (%rbx), %eax
28 testl %eax, %eax
29 je .L4
30 cmpl $1, %eax
31 jne .L1
32 addq $8, %rsp
33 leaq 8(%rbx), %rsi
34 movq %rbp, %rdi
35 popq %rbx
36 popq %rbp
37 jmp __GI_xdr_enum
38 .p2align 4,,10
39 .p2align 3
40 .L1:
41 addq $8, %rsp
42 xorl %eax, %eax
43 popq %rbx
44 popq %rbp
45 ret
46 .p2align 4,,10
47 .p2align 3
48 .L4:
49 leaq 8(%rbx), %rsi
50 movq %rbp, %rdi
51 call __GI_xdr_u_long
52 testl %eax, %eax
53 je .L1
54 addq $8, %rsp
55 leaq 16(%rbx), %rsi
56 movq %rbp, %rdi
57 popq %rbx
58 popq %rbp
59 jmp __GI_xdr_u_long
60 .size __GI_xdr_rejected_reply, .-__GI_xdr_rejected_reply
61 .globl __EI_xdr_rejected_reply
62 .set __EI_xdr_rejected_reply,__GI_xdr_rejected_reply
63 .p2align 4,,15
64 .globl __GI_xdr_opaque_auth
65 .hidden __GI_xdr_opaque_auth
66 .type __GI_xdr_opaque_auth, @function
67 __GI_xdr_opaque_auth:
68 pushq %rbp
69 pushq %rbx
70 movq %rdi, %rbp
71 movq %rsi, %rbx
72 subq $8, %rsp
73 call __GI_xdr_enum
74 testl %eax, %eax
75 jne .L16
76 addq $8, %rsp
77 xorl %eax, %eax
78 popq %rbx
79 popq %rbp
80 ret
81 .p2align 4,,10
82 .p2align 3
83 .L16:
84 addq $8, %rsp
85 leaq 16(%rbx), %rdx
86 leaq 8(%rbx), %rsi
87 movq %rbp, %rdi
88 movl $400, %ecx
89 popq %rbx
90 popq %rbp
91 jmp __GI_xdr_bytes
92 .size __GI_xdr_opaque_auth, .-__GI_xdr_opaque_auth
93 .globl __EI_xdr_opaque_auth
94 .set __EI_xdr_opaque_auth,__GI_xdr_opaque_auth
95 .p2align 4,,15
96 .globl __GI_xdr_accepted_reply
97 .hidden __GI_xdr_accepted_reply
98 .type __GI_xdr_accepted_reply, @function
99 __GI_xdr_accepted_reply:
100 pushq %rbp
101 pushq %rbx
102 movq %rdi, %rbp
103 movq %rsi, %rbx
104 subq $8, %rsp
105 call __GI_xdr_opaque_auth
106 testl %eax, %eax
107 jne .L18
108 .L20:
109 xorl %eax, %eax
110 .L17:
111 addq $8, %rsp
112 popq %rbx
113 popq %rbp
115 .p2align 4,,10
116 .p2align 3
117 .L18:
118 leaq 24(%rbx), %rsi
119 movq %rbp, %rdi
120 call __GI_xdr_enum
121 testl %eax, %eax
122 je .L20
123 movl 24(%rbx), %eax
124 testl %eax, %eax
125 je .L21
126 cmpl $2, %eax
127 jne .L32
128 leaq 32(%rbx), %rsi
129 movq %rbp, %rdi
130 call __GI_xdr_u_long
131 testl %eax, %eax
132 je .L20
133 addq $8, %rsp
134 leaq 40(%rbx), %rsi
135 movq %rbp, %rdi
136 popq %rbx
137 popq %rbp
138 jmp __GI_xdr_u_long
139 .p2align 4,,10
140 .p2align 3
141 .L32:
142 movl $1, %eax
143 jmp .L17
144 .p2align 4,,10
145 .p2align 3
146 .L21:
147 movq 32(%rbx), %rsi
148 movq 40(%rbx), %rdx
149 addq $8, %rsp
150 movq %rbp, %rdi
151 xorl %eax, %eax
152 popq %rbx
153 popq %rbp
154 jmp *%rdx
155 .size __GI_xdr_accepted_reply, .-__GI_xdr_accepted_reply
156 .globl __EI_xdr_accepted_reply
157 .set __EI_xdr_accepted_reply,__GI_xdr_accepted_reply
158 .p2align 4,,15
159 .globl __GI_xdr_des_block
160 .hidden __GI_xdr_des_block
161 .type __GI_xdr_des_block, @function
162 __GI_xdr_des_block:
163 movl $8, %edx
164 jmp __GI_xdr_opaque
165 .size __GI_xdr_des_block, .-__GI_xdr_des_block
166 .globl __EI_xdr_des_block
167 .set __EI_xdr_des_block,__GI_xdr_des_block
168 .p2align 4,,15
169 .globl __GI_xdr_replymsg
170 .hidden __GI_xdr_replymsg
171 .type __GI_xdr_replymsg, @function
172 __GI_xdr_replymsg:
173 pushq %rbp
174 pushq %rbx
175 movq %rdi, %rbp
176 movq %rsi, %rbx
177 subq $8, %rsp
178 call __GI_xdr_u_long
179 testl %eax, %eax
180 jne .L42
181 .L36:
182 addq $8, %rsp
183 xorl %eax, %eax
184 popq %rbx
185 popq %rbp
187 .p2align 4,,10
188 .p2align 3
189 .L42:
190 leaq 8(%rbx), %rsi
191 movq %rbp, %rdi
192 call __GI_xdr_enum
193 testl %eax, %eax
194 je .L36
195 cmpl $1, 8(%rbx)
196 jne .L36
197 addq $8, %rsp
198 leaq 24(%rbx), %rdx
199 leaq 16(%rbx), %rsi
200 movq %rbp, %rdi
201 leaq reply_dscrm(%rip), %rcx
202 xorl %r8d, %r8d
203 popq %rbx
204 popq %rbp
205 jmp __GI_xdr_union
206 .size __GI_xdr_replymsg, .-__GI_xdr_replymsg
207 .globl __EI_xdr_replymsg
208 .set __EI_xdr_replymsg,__GI_xdr_replymsg
209 .p2align 4,,15
210 .globl __GI_xdr_callhdr
211 .hidden __GI_xdr_callhdr
212 .type __GI_xdr_callhdr, @function
213 __GI_xdr_callhdr:
214 movl (%rdi), %eax
215 movl $0, 8(%rsi)
216 movq $2, 16(%rsi)
217 testl %eax, %eax
218 je .L63
219 xorl %eax, %eax
221 .p2align 4,,10
222 .p2align 3
223 .L63:
224 pushq %rbp
225 pushq %rbx
226 movq %rdi, %rbp
227 movq %rsi, %rbx
228 subq $8, %rsp
229 call __GI_xdr_u_long
230 testl %eax, %eax
231 jne .L64
232 .L45:
233 addq $8, %rsp
234 xorl %eax, %eax
235 popq %rbx
236 popq %rbp
238 .p2align 4,,10
239 .p2align 3
240 .L64:
241 leaq 8(%rbx), %rsi
242 movq %rbp, %rdi
243 call __GI_xdr_enum
244 testl %eax, %eax
245 je .L45
246 leaq 16(%rbx), %rsi
247 movq %rbp, %rdi
248 call __GI_xdr_u_long
249 testl %eax, %eax
250 je .L45
251 leaq 24(%rbx), %rsi
252 movq %rbp, %rdi
253 call __GI_xdr_u_long
254 testl %eax, %eax
255 je .L45
256 addq $8, %rsp
257 leaq 32(%rbx), %rsi
258 movq %rbp, %rdi
259 popq %rbx
260 popq %rbp
261 jmp __GI_xdr_u_long
262 .size __GI_xdr_callhdr, .-__GI_xdr_callhdr
263 .globl __EI_xdr_callhdr
264 .set __EI_xdr_callhdr,__GI_xdr_callhdr
265 .p2align 4,,15
266 .globl __GI__seterr_reply
267 .hidden __GI__seterr_reply
268 .type __GI__seterr_reply, @function
269 __GI__seterr_reply:
270 movl 16(%rdi), %eax
271 testl %eax, %eax
272 je .L67
273 cmpl $1, %eax
274 jne .L84
275 movl 24(%rdi), %eax
276 testl %eax, %eax
277 je .L80
278 cmpl $1, %eax
279 jne .L85
280 movl 32(%rdi), %eax
281 movl $7, (%rsi)
282 movl %eax, 8(%rsi)
284 .p2align 4,,10
285 .p2align 3
286 .L84:
287 movl $16, (%rsi)
288 movq %rax, 8(%rsi)
290 .p2align 4,,10
291 .p2align 3
292 .L67:
293 movl 48(%rdi), %eax
294 testl %eax, %eax
295 jne .L69
296 movl $0, (%rsi)
298 .p2align 4,,10
299 .p2align 3
300 .L85:
301 movl $16, (%rsi)
302 movq $1, 8(%rsi)
303 movq %rax, 16(%rsi)
305 .p2align 4,,10
306 .p2align 3
307 .L80:
308 movq 32(%rdi), %rax
309 movl $6, (%rsi)
310 movq %rax, 8(%rsi)
311 movq 40(%rdi), %rax
312 movq %rax, 16(%rsi)
314 .p2align 4,,10
315 .p2align 3
316 .L69:
317 cmpl $5, %eax
318 ja .L71
319 leaq .L73(%rip), %r8
320 movl %eax, %ecx
321 movslq (%r8,%rcx,4), %rdx
322 addq %r8, %rdx
323 jmp *%rdx
324 .section .rodata
325 .align 4
326 .align 4
327 .L73:
328 .long .L71-.L73
329 .long .L72-.L73
330 .long .L74-.L73
331 .long .L75-.L73
332 .long .L76-.L73
333 .long .L77-.L73
334 .text
335 .p2align 4,,10
336 .p2align 3
337 .L74:
338 movq 56(%rdi), %rax
339 movl $9, (%rsi)
340 movq %rax, 8(%rsi)
341 movq 64(%rdi), %rax
342 movq %rax, 16(%rsi)
344 .p2align 4,,10
345 .p2align 3
346 .L76:
347 movl $11, (%rsi)
349 .p2align 4,,10
350 .p2align 3
351 .L75:
352 movl $10, (%rsi)
354 .p2align 4,,10
355 .p2align 3
356 .L72:
357 movl $8, (%rsi)
359 .p2align 4,,10
360 .p2align 3
361 .L77:
362 movl $12, (%rsi)
364 .p2align 4,,10
365 .p2align 3
366 .L71:
367 movl $16, (%rsi)
368 movq $0, 8(%rsi)
369 movq %rax, 16(%rsi)
371 .size __GI__seterr_reply, .-__GI__seterr_reply
372 .globl __EI__seterr_reply
373 .set __EI__seterr_reply,__GI__seterr_reply
374 .section .data.rel.ro.local,"aw",@progbits
375 .align 32
376 .type reply_dscrm, @object
377 .size reply_dscrm, 48
378 reply_dscrm:
379 .long 0
380 .zero 4
381 .quad __GI_xdr_accepted_reply
382 .long 1
383 .zero 4
384 .quad __GI_xdr_rejected_reply
385 .long -1
386 .zero 4
387 .quad 0