clarify the purpose of this project
[nyanglibc.git] / sunrpc / xdr_rec.shared.s
blob4b7c4eab6e487844740b2507f76deab02b4849bc
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_xdrrec_create, xdrrec_create@GLIBC_2.2.5
7 .symver __EI_xdrrec_skiprecord, xdrrec_skiprecord@GLIBC_2.2.5
8 .symver __EI_xdrrec_eof, xdrrec_eof@GLIBC_2.2.5
9 .symver __EI_xdrrec_endofrecord, xdrrec_endofrecord@GLIBC_2.2.5
10 #NO_APP
11 .p2align 4,,15
12 .type xdrrec_inline, @function
13 xdrrec_inline:
14 movl (%rdi), %eax
15 movq 24(%rdi), %rdx
16 testl %eax, %eax
17 je .L3
18 cmpl $1, %eax
19 jne .L8
20 movq 104(%rdx), %rcx
21 movl %esi, %esi
22 cmpq %rcx, %rsi
23 jg .L8
24 movq 88(%rdx), %rax
25 leaq (%rax,%rsi), %rdi
26 cmpq 96(%rdx), %rdi
27 ja .L8
28 subq %rsi, %rcx
29 movq %rdi, 88(%rdx)
30 movq %rcx, 104(%rdx)
31 ret
32 .p2align 4,,10
33 .p2align 3
34 .L8:
35 xorl %eax, %eax
36 ret
37 .p2align 4,,10
38 .p2align 3
39 .L3:
40 movq 32(%rdx), %rax
41 movl %esi, %esi
42 addq %rax, %rsi
43 cmpq 40(%rdx), %rsi
44 ja .L8
45 movq %rsi, 32(%rdx)
46 ret
47 .size xdrrec_inline, .-xdrrec_inline
48 .p2align 4,,15
49 .type skip_input_bytes, @function
50 skip_input_bytes:
51 testq %rsi, %rsi
52 jle .L20
53 pushq %r12
54 pushq %rbp
55 movq %rdi, %rbp
56 pushq %rbx
57 movq 96(%rdi), %rax
58 movq %rsi, %rbx
59 .L12:
60 movq 88(%rbp), %rcx
61 movq %rax, %rdx
62 subq %rcx, %rdx
63 testl %edx, %edx
64 jne .L14
65 .L23:
66 movq 80(%rbp), %r12
67 movl 72(%rbp), %edx
68 andl $3, %eax
69 movq 0(%rbp), %rdi
70 addq %rax, %r12
71 subl %eax, %edx
72 movq %r12, %rsi
73 call *64(%rbp)
74 cmpl $-1, %eax
75 je .L17
76 movq %r12, 88(%rbp)
77 cltq
78 movq 88(%rbp), %rcx
79 addq %r12, %rax
80 movq %rax, %rdx
81 movq %rax, 96(%rbp)
82 subq %rcx, %rdx
83 testl %edx, %edx
84 je .L23
85 .L14:
86 movslq %edx, %rdx
87 cmpq %rbx, %rdx
88 cmovg %rbx, %rdx
89 subq %rdx, %rbx
90 addq %rdx, %rcx
91 testq %rbx, %rbx
92 movq %rcx, 88(%rbp)
93 jg .L12
94 popq %rbx
95 movl $1, %eax
96 popq %rbp
97 popq %r12
98 ret
99 .p2align 4,,10
100 .p2align 3
101 .L17:
102 popq %rbx
103 xorl %eax, %eax
104 popq %rbp
105 popq %r12
107 .p2align 4,,10
108 .p2align 3
109 .L20:
110 movl $1, %eax
112 .size skip_input_bytes, .-skip_input_bytes
113 .p2align 4,,15
114 .type xdrrec_destroy, @function
115 xdrrec_destroy:
116 pushq %rbx
117 movq 24(%rdi), %rbx
118 movq 8(%rbx), %rdi
119 call free@PLT
120 movq %rbx, %rdi
121 popq %rbx
122 jmp free@PLT
123 .size xdrrec_destroy, .-xdrrec_destroy
124 .p2align 4,,15
125 .type xdrrec_getpos, @function
126 xdrrec_getpos:
127 pushq %rbp
128 pushq %rbx
129 movq %rdi, %rbp
130 movl $1, %edx
131 xorl %esi, %esi
132 subq $8, %rsp
133 movq 24(%rdi), %rbx
134 movl (%rbx), %edi
135 call __GI___lseek
136 movq %rax, %rdx
137 movl $-1, %eax
138 cmpq $-1, %rdx
139 je .L26
140 movl 0(%rbp), %ecx
141 testl %ecx, %ecx
142 je .L28
143 cmpl $1, %ecx
144 jne .L26
145 movq 96(%rbx), %rax
146 subq 88(%rbx), %rax
147 movl %edx, %esi
148 subl %eax, %esi
149 movl %esi, %eax
150 .L26:
151 addq $8, %rsp
152 popq %rbx
153 popq %rbp
155 .p2align 4,,10
156 .p2align 3
157 .L28:
158 movq 32(%rbx), %rax
159 subq 24(%rbx), %rax
160 addq $8, %rsp
161 popq %rbx
162 popq %rbp
163 addl %edx, %eax
165 .size xdrrec_getpos, .-xdrrec_getpos
166 .p2align 4,,15
167 .type xdrrec_setpos, @function
168 xdrrec_setpos:
169 pushq %r12
170 pushq %rbp
171 movl %esi, %r12d
172 pushq %rbx
173 movq 24(%rdi), %rbp
174 movq %rdi, %rbx
175 call xdrrec_getpos
176 movl %eax, %edx
177 xorl %eax, %eax
178 cmpl $-1, %edx
179 je .L34
180 movl (%rbx), %ecx
181 subl %r12d, %edx
182 testl %ecx, %ecx
183 je .L36
184 cmpl $1, %ecx
185 jne .L34
186 movq 104(%rbp), %rsi
187 cmpl %esi, %edx
188 jge .L34
189 movq 88(%rbp), %rcx
190 movslq %edx, %rdx
191 subq %rdx, %rcx
192 cmpq %rcx, 96(%rbp)
193 jb .L34
194 cmpq %rcx, 80(%rbp)
195 ja .L34
196 subq %rdx, %rsi
197 movq %rcx, 88(%rbp)
198 movl $1, %eax
199 movq %rsi, 104(%rbp)
200 .L34:
201 popq %rbx
202 popq %rbp
203 popq %r12
205 .p2align 4,,10
206 .p2align 3
207 .L36:
208 movq 32(%rbp), %rsi
209 movslq %edx, %rdx
210 subq %rdx, %rsi
211 cmpq %rsi, 48(%rbp)
212 jnb .L34
213 cmpq %rsi, 40(%rbp)
214 jbe .L34
215 movq %rsi, 32(%rbp)
216 movl $1, %eax
217 jmp .L34
218 .size xdrrec_setpos, .-xdrrec_setpos
219 .p2align 4,,15
220 .type get_input_bytes, @function
221 get_input_bytes:
222 testl %edx, %edx
223 pushq %r14
224 pushq %r13
225 movq %rsi, %r13
226 pushq %r12
227 movl %edx, %r12d
228 pushq %rbp
229 pushq %rbx
230 movq %rdi, %rbx
231 jle .L49
232 .L48:
233 movq 96(%rbx), %rax
234 movq 88(%rbx), %rsi
235 movq %rax, %rdx
236 subq %rsi, %rdx
237 testl %edx, %edx
238 jne .L50
239 movq 80(%rbx), %rbp
240 movl 72(%rbx), %edx
241 andl $3, %eax
242 movq (%rbx), %rdi
243 addq %rax, %rbp
244 subl %eax, %edx
245 movq %rbp, %rsi
246 call *64(%rbx)
247 cmpl $-1, %eax
248 je .L53
249 cltq
250 movq %rbp, 88(%rbx)
251 addq %rax, %rbp
252 movq %rbp, 96(%rbx)
253 jmp .L48
254 .p2align 4,,10
255 .p2align 3
256 .L53:
257 popq %rbx
258 xorl %eax, %eax
259 popq %rbp
260 popq %r12
261 popq %r13
262 popq %r14
264 .p2align 4,,10
265 .p2align 3
266 .L50:
267 cmpl %r12d, %edx
268 movl %edx, %ebp
269 movq %r13, %rdi
270 cmovg %r12d, %ebp
271 movslq %ebp, %r14
272 subl %ebp, %r12d
273 movq %r14, %rdx
274 addq %r14, %r13
275 call __GI_memcpy@PLT
276 addq %r14, 88(%rbx)
277 testl %r12d, %r12d
278 jg .L48
279 .L49:
280 popq %rbx
281 movl $1, %eax
282 popq %rbp
283 popq %r12
284 popq %r13
285 popq %r14
287 .size get_input_bytes, .-get_input_bytes
288 .p2align 4,,15
289 .type set_input_fragment, @function
290 set_input_fragment:
291 pushq %rbx
292 movl $4, %edx
293 movq %rdi, %rbx
294 subq $16, %rsp
295 leaq 12(%rsp), %rsi
296 call get_input_bytes
297 testl %eax, %eax
298 je .L59
299 movl 12(%rsp), %eax
300 bswap %eax
301 movl %eax, %edx
302 shrl $31, %edx
303 testl %eax, %eax
304 movl %edx, 112(%rbx)
305 je .L59
306 andl $2147483647, %eax
307 movq %rax, 104(%rbx)
308 addq $16, %rsp
309 movl $1, %eax
310 popq %rbx
312 .p2align 4,,10
313 .p2align 3
314 .L59:
315 addq $16, %rsp
316 xorl %eax, %eax
317 popq %rbx
319 .size set_input_fragment, .-set_input_fragment
320 .p2align 4,,15
321 .type xdrrec_getbytes, @function
322 xdrrec_getbytes:
323 pushq %r13
324 pushq %r12
325 movq %rsi, %r13
326 pushq %rbp
327 pushq %rbx
328 movl %edx, %r12d
329 subq $8, %rsp
330 testl %edx, %edx
331 movq 24(%rdi), %rbp
332 je .L66
333 .L65:
334 movq 104(%rbp), %rdx
335 testl %edx, %edx
336 jne .L67
337 movl 112(%rbp), %eax
338 testl %eax, %eax
339 jne .L70
340 movq %rbp, %rdi
341 call set_input_fragment
342 testl %eax, %eax
343 jne .L65
344 .L70:
345 xorl %eax, %eax
346 .L64:
347 addq $8, %rsp
348 popq %rbx
349 popq %rbp
350 popq %r12
351 popq %r13
353 .p2align 4,,10
354 .p2align 3
355 .L67:
356 cmpl %r12d, %edx
357 movl %edx, %ebx
358 movq %r13, %rsi
359 cmova %r12d, %ebx
360 movq %rbp, %rdi
361 movl %ebx, %edx
362 call get_input_bytes
363 testl %eax, %eax
364 je .L70
365 movl %ebx, %eax
366 subq %rax, 104(%rbp)
367 addq %rax, %r13
368 subl %ebx, %r12d
369 jne .L65
370 .L66:
371 movl $1, %eax
372 jmp .L64
373 .size xdrrec_getbytes, .-xdrrec_getbytes
374 .p2align 4,,15
375 .type flush_out, @function
376 flush_out:
377 pushq %rbp
378 pushq %rbx
379 movl $-2147483648, %edx
380 movl $0, %eax
381 movq %rdi, %rbx
382 subq $8, %rsp
383 movq 32(%rdi), %rbp
384 movq 48(%rdi), %rcx
385 cmpl $1, %esi
386 movq 24(%rdi), %rsi
387 movq (%rdi), %rdi
388 cmove %edx, %eax
389 movq %rbp, %rdx
390 subq %rcx, %rdx
391 subq %rsi, %rbp
392 subq $4, %rdx
393 orl %edx, %eax
394 movl %ebp, %edx
395 bswap %eax
396 movl %eax, (%rcx)
397 call *16(%rbx)
398 xorl %edx, %edx
399 cmpl %eax, %ebp
400 jne .L80
401 movq 24(%rbx), %rax
402 movl $1, %edx
403 movq %rax, 48(%rbx)
404 addq $4, %rax
405 movq %rax, 32(%rbx)
406 .L80:
407 addq $8, %rsp
408 movl %edx, %eax
409 popq %rbx
410 popq %rbp
412 .size flush_out, .-flush_out
413 .p2align 4,,15
414 .type xdrrec_putint32, @function
415 xdrrec_putint32:
416 pushq %rbp
417 pushq %rbx
418 movq %rsi, %rbp
419 subq $8, %rsp
420 movq 24(%rdi), %rbx
421 movq 32(%rbx), %rax
422 leaq 4(%rax), %rdx
423 cmpq 40(%rbx), %rdx
424 movq %rdx, 32(%rbx)
425 ja .L94
426 .L88:
427 movl 0(%rbp), %edx
428 bswap %edx
429 movl %edx, (%rax)
430 movl $1, %eax
431 .L87:
432 addq $8, %rsp
433 popq %rbx
434 popq %rbp
436 .p2align 4,,10
437 .p2align 3
438 .L94:
439 xorl %esi, %esi
440 movq %rax, 32(%rbx)
441 movl $1, 56(%rbx)
442 movq %rbx, %rdi
443 call flush_out
444 testl %eax, %eax
445 je .L87
446 movq 32(%rbx), %rax
447 leaq 4(%rax), %rdx
448 movq %rdx, 32(%rbx)
449 jmp .L88
450 .size xdrrec_putint32, .-xdrrec_putint32
451 .p2align 4,,15
452 .type xdrrec_putlong, @function
453 xdrrec_putlong:
454 pushq %rbp
455 pushq %rbx
456 movq %rsi, %rbp
457 subq $8, %rsp
458 movq 24(%rdi), %rbx
459 movq 32(%rbx), %rax
460 leaq 4(%rax), %rdx
461 cmpq 40(%rbx), %rdx
462 movq %rdx, 32(%rbx)
463 ja .L102
464 .L96:
465 movq 0(%rbp), %rdx
466 bswap %edx
467 movl %edx, (%rax)
468 movl $1, %eax
469 .L95:
470 addq $8, %rsp
471 popq %rbx
472 popq %rbp
474 .p2align 4,,10
475 .p2align 3
476 .L102:
477 xorl %esi, %esi
478 movq %rax, 32(%rbx)
479 movl $1, 56(%rbx)
480 movq %rbx, %rdi
481 call flush_out
482 testl %eax, %eax
483 je .L95
484 movq 32(%rbx), %rax
485 leaq 4(%rax), %rdx
486 movq %rdx, 32(%rbx)
487 jmp .L96
488 .size xdrrec_putlong, .-xdrrec_putlong
489 .p2align 4,,15
490 .type xdrrec_putbytes, @function
491 xdrrec_putbytes:
492 testl %edx, %edx
493 pushq %r14
494 pushq %r13
495 pushq %r12
496 pushq %rbp
497 pushq %rbx
498 movq 24(%rdi), %r13
499 je .L108
500 movq 40(%r13), %rax
501 movq 32(%r13), %rdi
502 movq %rsi, %r14
503 movl %edx, %ebp
504 .p2align 4,,10
505 .p2align 3
506 .L106:
507 subq %rdi, %rax
508 movq %r14, %rsi
509 cmpl %ebp, %eax
510 movl %eax, %ebx
511 cmova %ebp, %ebx
512 movl %ebx, %r12d
513 subl %ebx, %ebp
514 movq %r12, %rdx
515 addq %r12, %r14
516 call __GI_memcpy@PLT
517 movq 32(%r13), %rdi
518 movq 40(%r13), %rax
519 addq %r12, %rdi
520 cmpq %rax, %rdi
521 movq %rdi, 32(%r13)
522 je .L119
523 testl %ebp, %ebp
524 jne .L106
525 .p2align 4,,10
526 .p2align 3
527 .L108:
528 movl $1, %eax
529 .L103:
530 popq %rbx
531 popq %rbp
532 popq %r12
533 popq %r13
534 popq %r14
536 .p2align 4,,10
537 .p2align 3
538 .L119:
539 testl %ebp, %ebp
540 je .L108
541 xorl %esi, %esi
542 movl $1, 56(%r13)
543 movq %r13, %rdi
544 call flush_out
545 testl %eax, %eax
546 je .L103
547 movq 40(%r13), %rax
548 movq 32(%r13), %rdi
549 jmp .L106
550 .size xdrrec_putbytes, .-xdrrec_putbytes
551 .p2align 4,,15
552 .type xdrrec_getint32, @function
553 xdrrec_getint32:
554 movq 24(%rdi), %rax
555 movq 104(%rax), %rdx
556 cmpq $3, %rdx
557 jle .L121
558 movq 88(%rax), %r8
559 movq 96(%rax), %rcx
560 subq %r8, %rcx
561 cmpq $3, %rcx
562 jg .L130
563 .L121:
564 pushq %rbx
565 movq %rsi, %rbx
566 movl $4, %edx
567 subq $16, %rsp
568 leaq 12(%rsp), %rsi
569 call xdrrec_getbytes
570 testl %eax, %eax
571 je .L120
572 movl 12(%rsp), %eax
573 bswap %eax
574 movl %eax, (%rbx)
575 movl $1, %eax
576 .L120:
577 addq $16, %rsp
578 popq %rbx
580 .p2align 4,,10
581 .p2align 3
582 .L130:
583 movl (%r8), %ecx
584 subq $4, %rdx
585 addq $4, %r8
586 bswap %ecx
587 movl %ecx, (%rsi)
588 movq %rdx, 104(%rax)
589 movq %r8, 88(%rax)
590 movl $1, %eax
592 .size xdrrec_getint32, .-xdrrec_getint32
593 .p2align 4,,15
594 .type xdrrec_getlong, @function
595 xdrrec_getlong:
596 movq 24(%rdi), %rax
597 cmpq $3, 104(%rax)
598 jle .L132
599 movq 88(%rax), %rcx
600 movq 96(%rax), %rdx
601 subq %rcx, %rdx
602 cmpq $3, %rdx
603 jg .L141
604 .L132:
605 pushq %rbx
606 movq %rsi, %rbx
607 movl $4, %edx
608 subq $16, %rsp
609 leaq 12(%rsp), %rsi
610 call xdrrec_getbytes
611 testl %eax, %eax
612 je .L131
613 movl 12(%rsp), %eax
614 bswap %eax
615 cltq
616 movq %rax, (%rbx)
617 movl $1, %eax
618 .L131:
619 addq $16, %rsp
620 popq %rbx
622 .p2align 4,,10
623 .p2align 3
624 .L141:
625 movl (%rcx), %edx
626 addq $4, %rcx
627 bswap %edx
628 movslq %edx, %rdx
629 movq %rdx, (%rsi)
630 movq %rcx, 88(%rax)
631 subq $4, 104(%rax)
632 movl $1, %eax
634 .size xdrrec_getlong, .-xdrrec_getlong
635 .section .rodata.str1.1,"aMS",@progbits,1
636 .LC0:
637 .string "out of memory\n"
638 .LC1:
639 .string "%s: %s"
640 .text
641 .p2align 4,,15
642 .globl __GI_xdrrec_create
643 .hidden __GI_xdrrec_create
644 .type __GI_xdrrec_create, @function
645 __GI_xdrrec_create:
646 pushq %r15
647 pushq %r14
648 movq %rcx, %r15
649 pushq %r13
650 pushq %r12
651 movq %rdi, %r12
652 pushq %rbp
653 pushq %rbx
654 movl %esi, %ebp
655 movl $128, %edi
656 movq %r8, %r14
657 subq $24, %rsp
658 movl %edx, (%rsp)
659 movq %r9, 8(%rsp)
660 call malloc@PLT
661 cmpl $99, %ebp
662 movq %rax, %rbx
663 movl (%rsp), %edx
664 jbe .L147
665 addl $3, %ebp
666 andl $-4, %ebp
667 leal 4(%rbp), %edi
668 .L143:
669 cmpl $99, %edx
670 movl $4000, %r13d
671 jbe .L144
672 leal 3(%rdx), %ecx
673 andl $-4, %ecx
674 movl %ecx, %r13d
675 .L144:
676 addl %r13d, %edi
677 call malloc@PLT
678 testq %rbx, %rbx
679 movq %rax, %r8
680 je .L149
681 testq %rax, %rax
682 je .L149
683 movl %ebp, 116(%rbx)
684 movq %rax, 8(%rbx)
685 addq %rax, %rbp
686 movq %rax, 24(%rbx)
687 leaq xdrrec_ops(%rip), %rax
688 movl %r13d, %ecx
689 movq %rbp, 80(%rbx)
690 movq %r8, 48(%rbx)
691 addq $4, %r8
692 movq %rax, 8(%r12)
693 movq 8(%rsp), %rax
694 movq %rbp, 40(%rbx)
695 addq %rcx, %rbp
696 movl %r13d, 120(%rbx)
697 movq %rbx, 24(%r12)
698 movq %r15, (%rbx)
699 movq %r14, 64(%rbx)
700 movq %rbp, 96(%rbx)
701 movq %rbp, 88(%rbx)
702 movq %rax, 16(%rbx)
703 movq %r8, 32(%rbx)
704 movl $0, 56(%rbx)
705 movq %rcx, 72(%rbx)
706 movq $0, 104(%rbx)
707 movl $1, 112(%rbx)
708 addq $24, %rsp
709 popq %rbx
710 popq %rbp
711 popq %r12
712 popq %r13
713 popq %r14
714 popq %r15
716 .p2align 4,,10
717 .p2align 3
718 .L147:
719 movl $4004, %edi
720 movl $4000, %ebp
721 jmp .L143
722 .p2align 4,,10
723 .p2align 3
724 .L149:
725 leaq .LC0(%rip), %rsi
726 leaq __GI__libc_intl_domainname(%rip), %rdi
727 movl $5, %edx
728 movq %r8, (%rsp)
729 call __GI___dcgettext
730 leaq __func__.11235(%rip), %rdx
731 leaq .LC1(%rip), %rsi
732 movq %rax, %rcx
733 xorl %edi, %edi
734 xorl %eax, %eax
735 call __fxprintf
736 movq %rbx, %rdi
737 call free@PLT
738 movq (%rsp), %r8
739 addq $24, %rsp
740 popq %rbx
741 popq %rbp
742 popq %r12
743 popq %r13
744 popq %r14
745 popq %r15
746 movq %r8, %rdi
747 jmp free@PLT
748 .size __GI_xdrrec_create, .-__GI_xdrrec_create
749 .globl __EI_xdrrec_create
750 .set __EI_xdrrec_create,__GI_xdrrec_create
751 .p2align 4,,15
752 .globl __GI_xdrrec_skiprecord
753 .hidden __GI_xdrrec_skiprecord
754 .type __GI_xdrrec_skiprecord, @function
755 __GI_xdrrec_skiprecord:
756 pushq %rbx
757 movq 24(%rdi), %rbx
758 .L152:
759 movq 104(%rbx), %rsi
760 testq %rsi, %rsi
761 jle .L162
762 .L157:
763 movq %rbx, %rdi
764 call skip_input_bytes
765 testl %eax, %eax
766 je .L156
767 movl 112(%rbx), %eax
768 movq $0, 104(%rbx)
769 testl %eax, %eax
770 je .L163
771 .L155:
772 movl $0, 112(%rbx)
773 movl $1, %eax
774 popq %rbx
776 .p2align 4,,10
777 .p2align 3
778 .L163:
779 movq %rbx, %rdi
780 call set_input_fragment
781 testl %eax, %eax
782 jne .L152
783 .L156:
784 xorl %eax, %eax
785 popq %rbx
787 .L162:
788 cmpl $0, 112(%rbx)
789 je .L157
790 jmp .L155
791 .size __GI_xdrrec_skiprecord, .-__GI_xdrrec_skiprecord
792 .globl __EI_xdrrec_skiprecord
793 .set __EI_xdrrec_skiprecord,__GI_xdrrec_skiprecord
794 .p2align 4,,15
795 .globl __GI_xdrrec_eof
796 .hidden __GI_xdrrec_eof
797 .type __GI_xdrrec_eof, @function
798 __GI_xdrrec_eof:
799 pushq %rbx
800 movq 24(%rdi), %rbx
801 .L165:
802 movq 104(%rbx), %rsi
803 testq %rsi, %rsi
804 jle .L175
805 .L170:
806 movq %rbx, %rdi
807 call skip_input_bytes
808 testl %eax, %eax
809 je .L169
810 movl 112(%rbx), %eax
811 movq $0, 104(%rbx)
812 testl %eax, %eax
813 je .L176
814 .L168:
815 movq 96(%rbx), %rax
816 cmpq %rax, 88(%rbx)
817 popq %rbx
818 sete %al
819 movzbl %al, %eax
821 .p2align 4,,10
822 .p2align 3
823 .L176:
824 movq %rbx, %rdi
825 call set_input_fragment
826 testl %eax, %eax
827 jne .L165
828 .L169:
829 movl $1, %eax
830 popq %rbx
832 .L175:
833 cmpl $0, 112(%rbx)
834 je .L170
835 jmp .L168
836 .size __GI_xdrrec_eof, .-__GI_xdrrec_eof
837 .globl __EI_xdrrec_eof
838 .set __EI_xdrrec_eof,__GI_xdrrec_eof
839 .p2align 4,,15
840 .globl __GI_xdrrec_endofrecord
841 .hidden __GI_xdrrec_endofrecord
842 .type __GI_xdrrec_endofrecord, @function
843 __GI_xdrrec_endofrecord:
844 testl %esi, %esi
845 movq 24(%rdi), %rdi
846 jne .L178
847 movl 56(%rdi), %eax
848 testl %eax, %eax
849 jne .L178
850 movq 32(%rdi), %rdx
851 leaq 4(%rdx), %rcx
852 cmpq 40(%rdi), %rcx
853 jnb .L178
854 movq 48(%rdi), %rsi
855 movq %rdx, %rax
856 subq %rsi, %rax
857 subq $4, %rax
858 orl $-2147483648, %eax
859 bswap %eax
860 movl %eax, (%rsi)
861 movq %rdx, 48(%rdi)
862 movl $1, %eax
863 movq %rcx, 32(%rdi)
865 .p2align 4,,10
866 .p2align 3
867 .L178:
868 movl $0, 56(%rdi)
869 movl $1, %esi
870 jmp flush_out
871 .size __GI_xdrrec_endofrecord, .-__GI_xdrrec_endofrecord
872 .globl __EI_xdrrec_endofrecord
873 .set __EI_xdrrec_endofrecord,__GI_xdrrec_endofrecord
874 .section .rodata.str1.8,"aMS",@progbits,1
875 .align 8
876 .type __func__.11235, @object
877 .size __func__.11235, 14
878 __func__.11235:
879 .string "xdrrec_create"
880 .section .data.rel.ro.local,"aw",@progbits
881 .align 32
882 .type xdrrec_ops, @object
883 .size xdrrec_ops, 80
884 xdrrec_ops:
885 .quad xdrrec_getlong
886 .quad xdrrec_putlong
887 .quad xdrrec_getbytes
888 .quad xdrrec_putbytes
889 .quad xdrrec_getpos
890 .quad xdrrec_setpos
891 .quad xdrrec_inline
892 .quad xdrrec_destroy
893 .quad xdrrec_getint32
894 .quad xdrrec_putint32
895 .hidden __fxprintf