clarify the purpose of this project
[nyanglibc.git] / sunrpc / compat-xdr.shared.s
blob7a789099b3a1beb971caa0ecb6eb1979bbd6420f
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_xdr_union, xdr_union@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type __GI_xdr_opaque.part.10, @function
10 __GI_xdr_opaque.part.10:
11 pushq %rbp
12 pushq %rbx
13 movl %edx, %ebx
14 andl $3, %ebx
15 movl $4, %eax
16 movq %rdi, %rbp
17 subl %ebx, %eax
18 subq $8, %rsp
19 testl %ebx, %ebx
20 cmovne %eax, %ebx
21 movl (%rdi), %eax
22 cmpl $1, %eax
23 je .L4
24 jb .L5
25 cmpl $2, %eax
26 sete %al
27 movzbl %al, %eax
28 .L1:
29 addq $8, %rsp
30 popq %rbx
31 popq %rbp
32 ret
33 .p2align 4,,10
34 .p2align 3
35 .L4:
36 movq 8(%rdi), %rax
37 call *16(%rax)
38 testl %eax, %eax
39 je .L9
40 testl %ebx, %ebx
41 je .L10
42 movq 8(%rbp), %rax
43 movl %ebx, %edx
44 movq %rbp, %rdi
45 leaq crud.7359(%rip), %rsi
46 movq 16(%rax), %rax
47 addq $8, %rsp
48 popq %rbx
49 popq %rbp
50 jmp *%rax
51 .p2align 4,,10
52 .p2align 3
53 .L5:
54 movq 8(%rdi), %rax
55 call *24(%rax)
56 testl %eax, %eax
57 jne .L23
58 .L9:
59 addq $8, %rsp
60 xorl %eax, %eax
61 popq %rbx
62 popq %rbp
63 ret
64 .p2align 4,,10
65 .p2align 3
66 .L23:
67 testl %ebx, %ebx
68 je .L10
69 movq 8(%rbp), %rax
70 movl %ebx, %edx
71 movq %rbp, %rdi
72 leaq xdr_zero(%rip), %rsi
73 movq 24(%rax), %rax
74 addq $8, %rsp
75 popq %rbx
76 popq %rbp
77 jmp *%rax
78 .p2align 4,,10
79 .p2align 3
80 .L10:
81 movl $1, %eax
82 jmp .L1
83 .size __GI_xdr_opaque.part.10, .-__GI_xdr_opaque.part.10
84 .p2align 4,,15
85 .globl __GI_xdr_free
86 .hidden __GI_xdr_free
87 .type __GI_xdr_free, @function
88 __GI_xdr_free:
89 subq $56, %rsp
90 movq %rdi, %rdx
91 xorl %eax, %eax
92 movl $2, (%rsp)
93 movq %rsp, %rdi
94 call *%rdx
95 addq $56, %rsp
96 ret
97 .size __GI_xdr_free, .-__GI_xdr_free
98 .globl xdr_free
99 .set xdr_free,__GI_xdr_free
100 .p2align 4,,15
101 .globl __GI_xdr_void
102 .hidden __GI_xdr_void
103 .type __GI_xdr_void, @function
104 __GI_xdr_void:
105 movl $1, %eax
107 .size __GI_xdr_void, .-__GI_xdr_void
108 .globl xdr_void
109 .set xdr_void,__GI_xdr_void
110 .p2align 4,,15
111 .globl __GI_xdr_int
112 .hidden __GI_xdr_int
113 .type __GI_xdr_int, @function
114 __GI_xdr_int:
115 pushq %rbx
116 movq %rsi, %rbx
117 subq $16, %rsp
118 movl (%rdi), %eax
119 cmpl $1, %eax
120 je .L29
121 jb .L30
122 cmpl $2, %eax
123 sete %al
124 movzbl %al, %eax
125 .L27:
126 addq $16, %rsp
127 popq %rbx
129 .p2align 4,,10
130 .p2align 3
131 .L29:
132 movq 8(%rdi), %rax
133 leaq 8(%rsp), %rsi
134 call *(%rax)
135 testl %eax, %eax
136 je .L27
137 movq 8(%rsp), %rax
138 movl %eax, (%rbx)
139 addq $16, %rsp
140 movl $1, %eax
141 popq %rbx
143 .p2align 4,,10
144 .p2align 3
145 .L30:
146 movslq (%rsi), %rax
147 leaq 8(%rsp), %rsi
148 movq %rax, 8(%rsp)
149 movq 8(%rdi), %rax
150 call *8(%rax)
151 addq $16, %rsp
152 popq %rbx
154 .size __GI_xdr_int, .-__GI_xdr_int
155 .globl xdr_int
156 .set xdr_int,__GI_xdr_int
157 .p2align 4,,15
158 .globl __GI_xdr_u_int
159 .hidden __GI_xdr_u_int
160 .type __GI_xdr_u_int, @function
161 __GI_xdr_u_int:
162 pushq %rbx
163 movq %rsi, %rbx
164 subq $16, %rsp
165 movl (%rdi), %eax
166 cmpl $1, %eax
167 je .L40
168 jb .L41
169 cmpl $2, %eax
170 sete %al
171 movzbl %al, %eax
172 .L38:
173 addq $16, %rsp
174 popq %rbx
176 .p2align 4,,10
177 .p2align 3
178 .L40:
179 movq 8(%rdi), %rax
180 leaq 8(%rsp), %rsi
181 call *(%rax)
182 testl %eax, %eax
183 je .L38
184 movq 8(%rsp), %rax
185 movl %eax, (%rbx)
186 addq $16, %rsp
187 movl $1, %eax
188 popq %rbx
190 .p2align 4,,10
191 .p2align 3
192 .L41:
193 movl (%rsi), %eax
194 leaq 8(%rsp), %rsi
195 movq %rax, 8(%rsp)
196 movq 8(%rdi), %rax
197 call *8(%rax)
198 addq $16, %rsp
199 popq %rbx
201 .size __GI_xdr_u_int, .-__GI_xdr_u_int
202 .globl xdr_u_int
203 .set xdr_u_int,__GI_xdr_u_int
204 .p2align 4,,15
205 .globl __GI_xdr_long
206 .hidden __GI_xdr_long
207 .type __GI_xdr_long, @function
208 __GI_xdr_long:
209 movl (%rdi), %eax
210 testl %eax, %eax
211 jne .L50
212 movq (%rsi), %rdx
213 movslq %edx, %rcx
214 cmpq %rcx, %rdx
215 jne .L51
216 movq 8(%rdi), %rax
217 jmp *8(%rax)
218 .p2align 4,,10
219 .p2align 3
220 .L50:
221 cmpl $1, %eax
222 jne .L51
223 movq 8(%rdi), %rax
224 jmp *(%rax)
225 .p2align 4,,10
226 .p2align 3
227 .L51:
228 cmpl $2, %eax
229 sete %al
230 movzbl %al, %eax
232 .size __GI_xdr_long, .-__GI_xdr_long
233 .globl xdr_long
234 .set xdr_long,__GI_xdr_long
235 .p2align 4,,15
236 .globl __GI_xdr_u_long
237 .hidden __GI_xdr_u_long
238 .type __GI_xdr_u_long, @function
239 __GI_xdr_u_long:
240 pushq %rbx
241 movq %rsi, %rbx
242 subq $16, %rsp
243 movl (%rdi), %eax
244 cmpl $1, %eax
245 je .L54
246 jb .L55
247 cmpl $2, %eax
248 sete %al
249 movzbl %al, %eax
250 .L52:
251 addq $16, %rsp
252 popq %rbx
254 .p2align 4,,10
255 .p2align 3
256 .L54:
257 movq 8(%rdi), %rax
258 leaq 8(%rsp), %rsi
259 call *(%rax)
260 testl %eax, %eax
261 je .L52
262 movl 8(%rsp), %eax
263 movq %rax, (%rbx)
264 addq $16, %rsp
265 movl $1, %eax
266 popq %rbx
268 .p2align 4,,10
269 .p2align 3
270 .L55:
271 movq (%rsi), %rdx
272 xorl %eax, %eax
273 movl %edx, %ecx
274 cmpq %rcx, %rdx
275 jne .L52
276 movq 8(%rdi), %rax
277 call *8(%rax)
278 addq $16, %rsp
279 popq %rbx
281 .size __GI_xdr_u_long, .-__GI_xdr_u_long
282 .globl xdr_u_long
283 .set xdr_u_long,__GI_xdr_u_long
284 .p2align 4,,15
285 .globl __GI_xdr_hyper
286 .hidden __GI_xdr_hyper
287 .type __GI_xdr_hyper, @function
288 __GI_xdr_hyper:
289 pushq %rbp
290 pushq %rbx
291 movq %rsi, %rbp
292 movq %rdi, %rbx
293 subq $24, %rsp
294 movl (%rdi), %eax
295 testl %eax, %eax
296 jne .L65
297 movq (%rsi), %rax
298 movq %rsp, %rsi
299 movq %rax, %rdx
300 movq %rax, 8(%rsp)
301 movq 8(%rdi), %rax
302 sarq $32, %rdx
303 movq %rdx, (%rsp)
304 call *8(%rax)
305 testl %eax, %eax
306 je .L71
307 movq 8(%rbx), %rax
308 leaq 8(%rsp), %rsi
309 movq %rbx, %rdi
310 call *8(%rax)
311 testl %eax, %eax
312 setne %al
313 movzbl %al, %eax
314 .L64:
315 addq $24, %rsp
316 popq %rbx
317 popq %rbp
319 .p2align 4,,10
320 .p2align 3
321 .L65:
322 cmpl $1, %eax
323 jne .L67
324 movq 8(%rdi), %rax
325 movq %rsp, %rsi
326 call *(%rax)
327 testl %eax, %eax
328 je .L71
329 movq 8(%rbx), %rax
330 leaq 8(%rsp), %rsi
331 movq %rbx, %rdi
332 call *(%rax)
333 testl %eax, %eax
334 jne .L76
335 .L71:
336 addq $24, %rsp
337 xorl %eax, %eax
338 popq %rbx
339 popq %rbp
341 .p2align 4,,10
342 .p2align 3
343 .L76:
344 movq (%rsp), %rax
345 movl 8(%rsp), %edx
346 salq $32, %rax
347 orq %rdx, %rax
348 movq %rax, 0(%rbp)
349 movl $1, %eax
350 jmp .L64
351 .p2align 4,,10
352 .p2align 3
353 .L67:
354 cmpl $2, %eax
355 sete %al
356 movzbl %al, %eax
357 jmp .L64
358 .size __GI_xdr_hyper, .-__GI_xdr_hyper
359 .globl xdr_hyper
360 .set xdr_hyper,__GI_xdr_hyper
361 .p2align 4,,15
362 .globl __GI_xdr_u_hyper
363 .hidden __GI_xdr_u_hyper
364 .type __GI_xdr_u_hyper, @function
365 __GI_xdr_u_hyper:
366 pushq %rbp
367 pushq %rbx
368 movq %rsi, %rbp
369 movq %rdi, %rbx
370 subq $24, %rsp
371 movl (%rdi), %eax
372 testl %eax, %eax
373 jne .L78
374 movq (%rsi), %rax
375 movq %rsp, %rsi
376 movq %rax, %rdx
377 movq %rax, 8(%rsp)
378 movq 8(%rdi), %rax
379 shrq $32, %rdx
380 movq %rdx, (%rsp)
381 call *8(%rax)
382 testl %eax, %eax
383 je .L84
384 movq 8(%rbx), %rax
385 leaq 8(%rsp), %rsi
386 movq %rbx, %rdi
387 call *8(%rax)
388 testl %eax, %eax
389 setne %al
390 movzbl %al, %eax
391 .L77:
392 addq $24, %rsp
393 popq %rbx
394 popq %rbp
396 .p2align 4,,10
397 .p2align 3
398 .L78:
399 cmpl $1, %eax
400 jne .L80
401 movq 8(%rdi), %rax
402 movq %rsp, %rsi
403 call *(%rax)
404 testl %eax, %eax
405 je .L84
406 movq 8(%rbx), %rax
407 leaq 8(%rsp), %rsi
408 movq %rbx, %rdi
409 call *(%rax)
410 testl %eax, %eax
411 jne .L89
412 .L84:
413 addq $24, %rsp
414 xorl %eax, %eax
415 popq %rbx
416 popq %rbp
418 .p2align 4,,10
419 .p2align 3
420 .L89:
421 movq (%rsp), %rax
422 movl 8(%rsp), %edx
423 salq $32, %rax
424 orq %rdx, %rax
425 movq %rax, 0(%rbp)
426 movl $1, %eax
427 jmp .L77
428 .p2align 4,,10
429 .p2align 3
430 .L80:
431 cmpl $2, %eax
432 sete %al
433 movzbl %al, %eax
434 jmp .L77
435 .size __GI_xdr_u_hyper, .-__GI_xdr_u_hyper
436 .globl xdr_u_hyper
437 .set xdr_u_hyper,__GI_xdr_u_hyper
438 .p2align 4,,15
439 .globl __GI_xdr_longlong_t
440 .hidden __GI_xdr_longlong_t
441 .type __GI_xdr_longlong_t, @function
442 __GI_xdr_longlong_t:
443 jmp __GI_xdr_hyper
444 .size __GI_xdr_longlong_t, .-__GI_xdr_longlong_t
445 .globl xdr_longlong_t
446 .set xdr_longlong_t,__GI_xdr_longlong_t
447 .p2align 4,,15
448 .globl __GI_xdr_u_longlong_t
449 .hidden __GI_xdr_u_longlong_t
450 .type __GI_xdr_u_longlong_t, @function
451 __GI_xdr_u_longlong_t:
452 jmp __GI_xdr_u_hyper
453 .size __GI_xdr_u_longlong_t, .-__GI_xdr_u_longlong_t
454 .globl xdr_u_longlong_t
455 .set xdr_u_longlong_t,__GI_xdr_u_longlong_t
456 .p2align 4,,15
457 .globl __GI_xdr_short
458 .hidden __GI_xdr_short
459 .type __GI_xdr_short, @function
460 __GI_xdr_short:
461 pushq %rbx
462 movq %rsi, %rbx
463 subq $16, %rsp
464 movl (%rdi), %eax
465 cmpl $1, %eax
466 je .L94
467 jb .L95
468 cmpl $2, %eax
469 sete %al
470 movzbl %al, %eax
471 .L92:
472 addq $16, %rsp
473 popq %rbx
475 .p2align 4,,10
476 .p2align 3
477 .L94:
478 movq 8(%rdi), %rax
479 leaq 8(%rsp), %rsi
480 call *(%rax)
481 testl %eax, %eax
482 je .L92
483 movq 8(%rsp), %rax
484 movw %ax, (%rbx)
485 addq $16, %rsp
486 movl $1, %eax
487 popq %rbx
489 .p2align 4,,10
490 .p2align 3
491 .L95:
492 movswq (%rsi), %rax
493 leaq 8(%rsp), %rsi
494 movq %rax, 8(%rsp)
495 movq 8(%rdi), %rax
496 call *8(%rax)
497 addq $16, %rsp
498 popq %rbx
500 .size __GI_xdr_short, .-__GI_xdr_short
501 .globl xdr_short
502 .set xdr_short,__GI_xdr_short
503 .p2align 4,,15
504 .globl __GI_xdr_u_short
505 .hidden __GI_xdr_u_short
506 .type __GI_xdr_u_short, @function
507 __GI_xdr_u_short:
508 pushq %rbx
509 movq %rsi, %rbx
510 subq $16, %rsp
511 movl (%rdi), %eax
512 cmpl $1, %eax
513 je .L105
514 jb .L106
515 cmpl $2, %eax
516 sete %al
517 movzbl %al, %eax
518 .L103:
519 addq $16, %rsp
520 popq %rbx
522 .p2align 4,,10
523 .p2align 3
524 .L105:
525 movq 8(%rdi), %rax
526 leaq 8(%rsp), %rsi
527 call *(%rax)
528 testl %eax, %eax
529 je .L103
530 movq 8(%rsp), %rax
531 movw %ax, (%rbx)
532 addq $16, %rsp
533 movl $1, %eax
534 popq %rbx
536 .p2align 4,,10
537 .p2align 3
538 .L106:
539 movzwl (%rsi), %eax
540 leaq 8(%rsp), %rsi
541 movq %rax, 8(%rsp)
542 movq 8(%rdi), %rax
543 call *8(%rax)
544 addq $16, %rsp
545 popq %rbx
547 .size __GI_xdr_u_short, .-__GI_xdr_u_short
548 .globl xdr_u_short
549 .set xdr_u_short,__GI_xdr_u_short
550 .p2align 4,,15
551 .globl __GI_xdr_char
552 .hidden __GI_xdr_char
553 .type __GI_xdr_char, @function
554 __GI_xdr_char:
555 pushq %rbx
556 movq %rsi, %rbx
557 subq $16, %rsp
558 movsbl (%rsi), %eax
559 leaq 12(%rsp), %rsi
560 movl %eax, 12(%rsp)
561 call __GI_xdr_int
562 testl %eax, %eax
563 je .L114
564 movl 12(%rsp), %eax
565 movb %al, (%rbx)
566 movl $1, %eax
567 .L114:
568 addq $16, %rsp
569 popq %rbx
571 .size __GI_xdr_char, .-__GI_xdr_char
572 .globl xdr_char
573 .set xdr_char,__GI_xdr_char
574 .p2align 4,,15
575 .globl __GI_xdr_u_char
576 .hidden __GI_xdr_u_char
577 .type __GI_xdr_u_char, @function
578 __GI_xdr_u_char:
579 pushq %rbx
580 movq %rsi, %rbx
581 subq $16, %rsp
582 movzbl (%rsi), %eax
583 leaq 12(%rsp), %rsi
584 movl %eax, 12(%rsp)
585 call __GI_xdr_u_int
586 testl %eax, %eax
587 je .L120
588 movl 12(%rsp), %eax
589 movb %al, (%rbx)
590 movl $1, %eax
591 .L120:
592 addq $16, %rsp
593 popq %rbx
595 .size __GI_xdr_u_char, .-__GI_xdr_u_char
596 .globl xdr_u_char
597 .set xdr_u_char,__GI_xdr_u_char
598 .p2align 4,,15
599 .globl __GI_xdr_bool
600 .hidden __GI_xdr_bool
601 .type __GI_xdr_bool, @function
602 __GI_xdr_bool:
603 pushq %rbx
604 movq %rsi, %rbx
605 subq $16, %rsp
606 movl (%rdi), %eax
607 cmpl $1, %eax
608 je .L128
609 jb .L129
610 cmpl $2, %eax
611 sete %al
612 movzbl %al, %eax
613 .L126:
614 addq $16, %rsp
615 popq %rbx
617 .p2align 4,,10
618 .p2align 3
619 .L128:
620 movq 8(%rdi), %rax
621 leaq 8(%rsp), %rsi
622 call *(%rax)
623 testl %eax, %eax
624 je .L126
625 xorl %eax, %eax
626 cmpq $0, 8(%rsp)
627 setne %al
628 movl %eax, (%rbx)
629 addq $16, %rsp
630 movl $1, %eax
631 popq %rbx
633 .p2align 4,,10
634 .p2align 3
635 .L129:
636 movl (%rsi), %edx
637 xorl %eax, %eax
638 leaq 8(%rsp), %rsi
639 testl %edx, %edx
640 setne %al
641 movq %rax, 8(%rsp)
642 movq 8(%rdi), %rax
643 call *8(%rax)
644 addq $16, %rsp
645 popq %rbx
647 .size __GI_xdr_bool, .-__GI_xdr_bool
648 .globl xdr_bool
649 .set xdr_bool,__GI_xdr_bool
650 .p2align 4,,15
651 .globl __GI_xdr_enum
652 .hidden __GI_xdr_enum
653 .type __GI_xdr_enum, @function
654 __GI_xdr_enum:
655 pushq %rbx
656 movq %rsi, %rbx
657 subq $16, %rsp
658 movl (%rdi), %eax
659 cmpl $1, %eax
660 je .L139
661 jb .L140
662 cmpl $2, %eax
663 sete %al
664 movzbl %al, %eax
665 .L137:
666 addq $16, %rsp
667 popq %rbx
669 .p2align 4,,10
670 .p2align 3
671 .L139:
672 movq 8(%rdi), %rax
673 leaq 8(%rsp), %rsi
674 call *(%rax)
675 testl %eax, %eax
676 je .L137
677 movq 8(%rsp), %rax
678 movl %eax, (%rbx)
679 addq $16, %rsp
680 movl $1, %eax
681 popq %rbx
683 .p2align 4,,10
684 .p2align 3
685 .L140:
686 movslq (%rsi), %rax
687 leaq 8(%rsp), %rsi
688 movq %rax, 8(%rsp)
689 movq 8(%rdi), %rax
690 call *8(%rax)
691 addq $16, %rsp
692 popq %rbx
694 .size __GI_xdr_enum, .-__GI_xdr_enum
695 .globl xdr_enum
696 .set xdr_enum,__GI_xdr_enum
697 .p2align 4,,15
698 .globl __GI_xdr_opaque
699 .hidden __GI_xdr_opaque
700 .type __GI_xdr_opaque, @function
701 __GI_xdr_opaque:
702 testl %edx, %edx
703 je .L149
704 jmp __GI_xdr_opaque.part.10
705 .p2align 4,,10
706 .p2align 3
707 .L149:
708 movl $1, %eax
710 .size __GI_xdr_opaque, .-__GI_xdr_opaque
711 .globl xdr_opaque
712 .set xdr_opaque,__GI_xdr_opaque
713 .section .rodata.str1.1,"aMS",@progbits,1
714 .LC0:
715 .string "out of memory\n"
716 .LC1:
717 .string "%s: %s"
718 .text
719 .p2align 4,,15
720 .globl __GI_xdr_bytes
721 .hidden __GI_xdr_bytes
722 .type __GI_xdr_bytes, @function
723 __GI_xdr_bytes:
724 pushq %r14
725 pushq %r13
726 movl %ecx, %r13d
727 pushq %r12
728 pushq %rbp
729 movq %rsi, %r12
730 pushq %rbx
731 movq %rdx, %rbp
732 movq %rdi, %rbx
733 subq $16, %rsp
734 movq (%rsi), %r14
735 movq %rdx, %rsi
736 call __GI_xdr_u_int
737 testl %eax, %eax
738 je .L150
739 movl 0(%rbp), %edx
740 movl (%rbx), %ecx
741 cmpl %r13d, %edx
742 jbe .L152
743 xorl %eax, %eax
744 cmpl $2, %ecx
745 je .L153
746 .L150:
747 addq $16, %rsp
748 popq %rbx
749 popq %rbp
750 popq %r12
751 popq %r13
752 popq %r14
754 .p2align 4,,10
755 .p2align 3
756 .L152:
757 cmpl $1, %ecx
758 je .L154
759 jb .L155
760 cmpl $2, %ecx
761 je .L153
762 xorl %eax, %eax
763 jmp .L150
764 .p2align 4,,10
765 .p2align 3
766 .L153:
767 testq %r14, %r14
768 movl $1, %eax
769 je .L150
770 movq %r14, %rdi
771 movl %eax, 12(%rsp)
772 call free@PLT
773 movq $0, (%r12)
774 movl 12(%rsp), %eax
775 jmp .L150
776 .p2align 4,,10
777 .p2align 3
778 .L154:
779 testl %edx, %edx
780 je .L159
781 testq %r14, %r14
782 je .L172
783 .L156:
784 addq $16, %rsp
785 movq %r14, %rsi
786 movq %rbx, %rdi
787 popq %rbx
788 popq %rbp
789 popq %r12
790 popq %r13
791 popq %r14
792 jmp __GI_xdr_opaque.part.10
793 .p2align 4,,10
794 .p2align 3
795 .L155:
796 testl %edx, %edx
797 movl $1, %eax
798 je .L150
799 jmp .L156
800 .L172:
801 movl %edx, %edi
802 movl %edx, 12(%rsp)
803 call malloc@PLT
804 testq %rax, %rax
805 movq %rax, %r14
806 movq %rax, (%r12)
807 movl 12(%rsp), %edx
808 jne .L156
809 leaq .LC0(%rip), %rsi
810 leaq __GI__libc_intl_domainname(%rip), %rdi
811 movl $5, %edx
812 call __GI___dcgettext
813 leaq __func__.7374(%rip), %rdx
814 leaq .LC1(%rip), %rsi
815 movq %rax, %rcx
816 xorl %edi, %edi
817 xorl %eax, %eax
818 call __fxprintf
819 xorl %eax, %eax
820 jmp .L150
821 .p2align 4,,10
822 .p2align 3
823 .L159:
824 movl $1, %eax
825 jmp .L150
826 .size __GI_xdr_bytes, .-__GI_xdr_bytes
827 .globl xdr_bytes
828 .set xdr_bytes,__GI_xdr_bytes
829 .p2align 4,,15
830 .globl __GI_xdr_netobj
831 .hidden __GI_xdr_netobj
832 .type __GI_xdr_netobj, @function
833 __GI_xdr_netobj:
834 movq %rsi, %rdx
835 leaq 8(%rsi), %rsi
836 movl $1024, %ecx
837 jmp __GI_xdr_bytes
838 .size __GI_xdr_netobj, .-__GI_xdr_netobj
839 .globl xdr_netobj
840 .set xdr_netobj,__GI_xdr_netobj
841 .p2align 4,,15
842 .globl __GI_xdr_union
843 .hidden __GI_xdr_union
844 .type __GI_xdr_union, @function
845 __GI_xdr_union:
846 pushq %r14
847 pushq %r13
848 movq %r8, %r14
849 pushq %r12
850 pushq %rbp
851 movq %rdi, %r12
852 pushq %rbx
853 movq %rsi, %rbp
854 movq %rdx, %r13
855 movq %rcx, %rbx
856 call __GI_xdr_enum
857 testl %eax, %eax
858 je .L174
859 movq 8(%rbx), %rcx
860 movl 0(%rbp), %eax
861 testq %rcx, %rcx
862 jne .L179
863 .p2align 4,,10
864 .p2align 3
865 .L176:
866 testq %r14, %r14
867 je .L174
868 popq %rbx
869 movq %r13, %rsi
870 movq %r12, %rdi
871 movq %r14, %rcx
872 popq %rbp
873 popq %r12
874 popq %r13
875 popq %r14
876 movl $-1, %edx
877 xorl %eax, %eax
878 jmp *%rcx
879 .p2align 4,,10
880 .p2align 3
881 .L178:
882 addq $16, %rbx
883 movq 8(%rbx), %rcx
884 testq %rcx, %rcx
885 je .L176
886 .L179:
887 cmpl %eax, (%rbx)
888 jne .L178
889 popq %rbx
890 movq %r13, %rsi
891 movq %r12, %rdi
892 movl $-1, %edx
893 popq %rbp
894 popq %r12
895 popq %r13
896 popq %r14
897 xorl %eax, %eax
898 jmp *%rcx
899 .p2align 4,,10
900 .p2align 3
901 .L174:
902 popq %rbx
903 xorl %eax, %eax
904 popq %rbp
905 popq %r12
906 popq %r13
907 popq %r14
909 .size __GI_xdr_union, .-__GI_xdr_union
910 .globl __EI_xdr_union
911 .set __EI_xdr_union,__GI_xdr_union
912 .p2align 4,,15
913 .globl __GI_xdr_string
914 .hidden __GI_xdr_string
915 .type __GI_xdr_string, @function
916 __GI_xdr_string:
917 pushq %r13
918 pushq %r12
919 movl %edx, %r13d
920 pushq %rbp
921 pushq %rbx
922 movq %rsi, %r12
923 movq %rdi, %rbx
924 subq $40, %rsp
925 movl (%rdi), %eax
926 movq (%rsi), %rbp
927 movl $0, 28(%rsp)
928 testl %eax, %eax
929 je .L194
930 cmpl $2, %eax
931 jne .L193
932 testq %rbp, %rbp
933 je .L216
934 .L196:
935 movq %rbp, %rdi
936 call __GI_strlen
937 movl %eax, 28(%rsp)
938 .L193:
939 leaq 28(%rsp), %rsi
940 movq %rbx, %rdi
941 call __GI_xdr_u_int
942 testl %eax, %eax
943 je .L214
944 movl 28(%rsp), %edx
945 cmpl %r13d, %edx
946 ja .L214
947 movl %edx, %ecx
948 addl $1, %ecx
949 je .L214
950 movl (%rbx), %eax
951 cmpl $1, %eax
952 je .L199
953 jb .L200
954 cmpl $2, %eax
955 je .L201
956 .p2align 4,,10
957 .p2align 3
958 .L214:
959 xorl %eax, %eax
960 .L192:
961 addq $40, %rsp
962 popq %rbx
963 popq %rbp
964 popq %r12
965 popq %r13
967 .p2align 4,,10
968 .p2align 3
969 .L194:
970 testq %rbp, %rbp
971 jne .L196
972 jmp .L214
973 .p2align 4,,10
974 .p2align 3
975 .L201:
976 movq %rbp, %rdi
977 call free@PLT
978 movq $0, (%r12)
979 .L216:
980 addq $40, %rsp
981 movl $1, %eax
982 popq %rbx
983 popq %rbp
984 popq %r12
985 popq %r13
987 .p2align 4,,10
988 .p2align 3
989 .L199:
990 testq %rbp, %rbp
991 je .L217
992 .L202:
993 movb $0, 0(%rbp,%rdx)
994 movl 28(%rsp), %edx
995 .L200:
996 testl %edx, %edx
997 je .L216
998 movq %rbp, %rsi
999 movq %rbx, %rdi
1000 call __GI_xdr_opaque.part.10
1001 jmp .L192
1002 .L217:
1003 movl %ecx, %edi
1004 movl %edx, 12(%rsp)
1005 call malloc@PLT
1006 testq %rax, %rax
1007 movq %rax, %rbp
1008 movq %rax, (%r12)
1009 movl 12(%rsp), %edx
1010 jne .L202
1011 leaq .LC0(%rip), %rsi
1012 leaq __GI__libc_intl_domainname(%rip), %rdi
1013 movl $5, %edx
1014 call __GI___dcgettext
1015 leaq __func__.7410(%rip), %rdx
1016 leaq .LC1(%rip), %rsi
1017 movq %rax, %rcx
1018 xorl %edi, %edi
1019 xorl %eax, %eax
1020 call __fxprintf
1021 xorl %eax, %eax
1022 jmp .L192
1023 .size __GI_xdr_string, .-__GI_xdr_string
1024 .globl xdr_string
1025 .set xdr_string,__GI_xdr_string
1026 .p2align 4,,15
1027 .globl __GI_xdr_wrapstring
1028 .hidden __GI_xdr_wrapstring
1029 .type __GI_xdr_wrapstring, @function
1030 __GI_xdr_wrapstring:
1031 subq $8, %rsp
1032 movl $-1, %edx
1033 call __GI_xdr_string
1034 testl %eax, %eax
1035 setne %al
1036 addq $8, %rsp
1037 movzbl %al, %eax
1039 .size __GI_xdr_wrapstring, .-__GI_xdr_wrapstring
1040 .globl xdr_wrapstring
1041 .set xdr_wrapstring,__GI_xdr_wrapstring
1042 .section .rodata.str1.8,"aMS",@progbits,1
1043 .align 8
1044 .type __func__.7410, @object
1045 .size __func__.7410, 11
1046 __func__.7410:
1047 .string "xdr_string"
1048 .align 8
1049 .type __func__.7374, @object
1050 .size __func__.7374, 10
1051 __func__.7374:
1052 .string "xdr_bytes"
1053 .local crud.7359
1054 .comm crud.7359,4,1
1055 .section .rodata
1056 .type xdr_zero, @object
1057 .size xdr_zero, 4
1058 xdr_zero:
1059 .zero 4
1060 .hidden __fxprintf