clarify the purpose of this project
[nyanglibc.git] / sunrpc / compat-svc_udp.shared.s
blobd0fd0d8b230652326df6eb80cff48710a5177f64
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_svcudp_enablecache, svcudp_enablecache@GLIBC_2.2.5
7 #NO_APP
8 .p2align 4,,15
9 .type svcudp_stat, @function
10 svcudp_stat:
11 movl $2, %eax
12 ret
13 .size svcudp_stat, .-svcudp_stat
14 .p2align 4,,15
15 .type svcudp_getargs, @function
16 svcudp_getargs:
17 movq 72(%rdi), %rdi
18 movq %rsi, %rcx
19 xorl %eax, %eax
20 movq %rdx, %rsi
21 addq $16, %rdi
22 jmp *%rcx
23 .size svcudp_getargs, .-svcudp_getargs
24 .p2align 4,,15
25 .type svcudp_freeargs, @function
26 svcudp_freeargs:
27 movq 72(%rdi), %rdi
28 movq %rsi, %rcx
29 xorl %eax, %eax
30 movq %rdx, %rsi
31 movl $2, 16(%rdi)
32 addq $16, %rdi
33 jmp *%rcx
34 .size svcudp_freeargs, .-svcudp_freeargs
35 .p2align 4,,15
36 .type svcudp_destroy, @function
37 svcudp_destroy:
38 pushq %rbp
39 pushq %rbx
40 movq %rdi, %rbx
41 subq $8, %rsp
42 movq 72(%rdi), %rbp
43 call __GI_xprt_unregister
44 movl (%rbx), %edi
45 call __GI___close
46 movq 24(%rbp), %rax
47 movq 56(%rax), %rax
48 testq %rax, %rax
49 je .L6
50 leaq 16(%rbp), %rdi
51 call *%rax
52 .L6:
53 movq 64(%rbx), %rdi
54 call free@PLT
55 movq %rbp, %rdi
56 call free@PLT
57 addq $8, %rsp
58 movq %rbx, %rdi
59 popq %rbx
60 popq %rbp
61 jmp free@PLT
62 .size svcudp_destroy, .-svcudp_destroy
63 .p2align 4,,15
64 .type svcudp_recv, @function
65 svcudp_recv:
66 pushq %r15
67 pushq %r14
68 leaq 80(%rdi), %r14
69 pushq %r13
70 pushq %r12
71 leaq 96(%rdi), %r12
72 pushq %rbp
73 pushq %rbx
74 leaq 20(%rdi), %rbp
75 movq %rdi, %r13
76 movq %rsi, %r15
77 subq $40, %rsp
78 movq 72(%rdi), %rbx
79 leaq 16(%rbx), %rax
80 movq %rax, 8(%rsp)
81 leaq 28(%rsp), %rax
82 movq %rax, (%rsp)
83 .p2align 4,,10
84 .p2align 3
85 .L12:
86 cmpq $0, 120(%r13)
87 movl $16, 28(%rsp)
88 movl (%rbx), %edx
89 movq 64(%r13), %rsi
90 movl 0(%r13), %edi
91 je .L13
92 movl %edx, %eax
93 movq %rsi, 80(%r13)
94 xorl %edx, %edx
95 movq %rax, 88(%r13)
96 leaq 152(%r13), %rax
97 movq %r14, 112(%r13)
98 movq $1, 120(%r13)
99 movq %rbp, 96(%r13)
100 movq %r12, %rsi
101 movl $16, 104(%r13)
102 movq %rax, 128(%r13)
103 movq $184, 136(%r13)
104 call __recvmsg
105 testl %eax, %eax
106 movl %eax, %edx
107 js .L14
108 movq 136(%r13), %rcx
109 movl 104(%r13), %eax
110 cmpq $15, %rcx
111 movl %eax, 28(%rsp)
112 jbe .L15
113 movq 128(%r13), %rsi
114 testq %rsi, %rsi
115 je .L15
116 movq (%rsi), %r8
117 cmpq $15, %r8
118 ja .L45
119 .p2align 4,,10
120 .p2align 3
121 .L15:
122 movq $0, 128(%r13)
123 movq $0, 136(%r13)
124 .L19:
125 movl %eax, 16(%r13)
126 .L20:
127 cmpl $15, %edx
128 jle .L23
129 movq 8(%rsp), %r14
130 movq 24(%rbx), %rax
131 xorl %esi, %esi
132 movl $1, 16(%rbx)
133 movq %r14, %rdi
134 call *40(%rax)
135 movq %r15, %rsi
136 movq %r14, %rdi
137 call __GI_xdr_callmsg
138 testl %eax, %eax
139 je .L23
140 cmpq $0, 464(%rbx)
141 movq (%r15), %rax
142 movq %rax, 8(%rbx)
143 movl $1, %eax
144 je .L11
145 movq 72(%r13), %rax
146 xorl %edx, %edx
147 movq 464(%rax), %rsi
148 movq 8(%rax), %rcx
149 movq (%rsi), %rax
150 leaq 0(,%rax,4), %rdi
151 movq %rcx, %rax
152 divq %rdi
153 movq 8(%rsi), %rax
154 movl %edx, %edx
155 movq (%rax,%rdx,8), %rax
156 testq %rax, %rax
157 je .L24
158 leaq 56(%rsi), %rdx
159 jmp .L30
160 .p2align 4,,10
161 .p2align 3
162 .L25:
163 movq 64(%rax), %rax
164 testq %rax, %rax
165 je .L24
166 .L30:
167 cmpq (%rax), %rcx
168 jne .L25
169 movq 48(%rsi), %rbx
170 cmpq %rbx, 8(%rax)
171 jne .L25
172 movq 40(%rsi), %rbx
173 cmpq %rbx, 16(%rax)
174 jne .L25
175 movq 32(%rsi), %rbx
176 cmpq %rbx, 24(%rax)
177 jne .L25
178 movq 32(%rax), %rdi
179 movq 40(%rax), %r8
180 xorq (%rdx), %rdi
181 xorq 8(%rdx), %r8
182 orq %rdi, %r8
183 jne .L25
184 cmpq $0, 120(%r13)
185 movq 48(%rax), %rsi
186 movl 0(%r13), %edi
187 movq 56(%rax), %rax
188 jne .L46
189 movl 28(%rsp), %r9d
190 movslq %eax, %rdx
191 movq %rbp, %r8
192 xorl %ecx, %ecx
193 call __sendto
194 movl $1, %eax
195 jmp .L11
196 .p2align 4,,10
197 .p2align 3
198 .L13:
199 movq (%rsp), %r9
200 movslq %edx, %rdx
201 movq %rbp, %r8
202 xorl %ecx, %ecx
203 call __recvfrom
204 movl %eax, %edx
205 .L14:
206 movl 28(%rsp), %eax
207 cmpl $-1, %edx
208 movl %eax, 16(%r13)
209 jne .L20
210 movq __libc_errno@gottpoff(%rip), %rax
211 cmpl $4, %fs:(%rax)
212 je .L12
213 call __svc_accept_failed
214 xorl %eax, %eax
215 .L11:
216 addq $40, %rsp
217 popq %rbx
218 popq %rbp
219 popq %r12
220 popq %r13
221 popq %r14
222 popq %r15
224 .p2align 4,,10
225 .p2align 3
226 .L23:
227 addq $40, %rsp
228 xorl %eax, %eax
229 popq %rbx
230 popq %rbp
231 popq %r12
232 popq %r13
233 popq %r14
234 popq %r15
236 .p2align 4,,10
237 .p2align 3
238 .L45:
239 leaq 7(%r8), %rdi
240 addq %rsi, %rcx
241 andq $-8, %rdi
242 addq %rsi, %rdi
243 leaq 16(%rdi), %r9
244 cmpq %r9, %rcx
245 jnb .L47
246 .L16:
247 movabsq $34359738368, %rcx
248 cmpq %rcx, 8(%rsi)
249 jne .L15
250 cmpq $27, %r8
251 jbe .L15
252 movl $0, 16(%rsi)
253 jmp .L19
254 .p2align 4,,10
255 .p2align 3
256 .L24:
257 movq 40(%r15), %rax
258 movq %rax, 48(%rsi)
259 movq 32(%r15), %rax
260 movq %rax, 40(%rsi)
261 movq 24(%r15), %rax
262 movq %rax, 32(%rsi)
263 movl $1, %eax
264 movdqu 20(%r13), %xmm0
265 movups %xmm0, 56(%rsi)
266 addq $40, %rsp
267 popq %rbx
268 popq %rbp
269 popq %r12
270 popq %r13
271 popq %r14
272 popq %r15
274 .p2align 4,,10
275 .p2align 3
276 .L47:
277 movq (%rdi), %r10
278 leaq 7(%r10), %r9
279 andq $-8, %r9
280 addq %r9, %rdi
281 cmpq %rdi, %rcx
282 jnb .L15
283 jmp .L16
284 .L46:
285 movq %rsi, 80(%r13)
286 movq %rax, 88(%r13)
287 xorl %edx, %edx
288 movq %r12, %rsi
289 call __sendmsg
290 movl $1, %eax
291 jmp .L11
292 .size svcudp_recv, .-svcudp_recv
293 .section .rodata.str1.8,"aMS",@progbits,1
294 .align 8
295 .LC0:
296 .string "cache_set: victim alloc failed"
297 .section .rodata.str1.1,"aMS",@progbits,1
298 .LC1:
299 .string "%s\n"
300 .section .rodata.str1.8
301 .align 8
302 .LC2:
303 .string "cache_set: could not allocate new rpc_buffer"
304 .section .rodata.str1.1
305 .LC3:
306 .string "cache_set: victim not found"
307 .text
308 .p2align 4,,15
309 .type svcudp_reply, @function
310 svcudp_reply:
311 pushq %r15
312 pushq %r14
313 pushq %r13
314 pushq %r12
315 movq %rsi, %r13
316 pushq %rbp
317 pushq %rbx
318 xorl %esi, %esi
319 movq %rdi, %rbx
320 subq $24, %rsp
321 movq 72(%rdi), %rbp
322 movq 24(%rbp), %rax
323 leaq 16(%rbp), %r12
324 movl $0, 16(%rbp)
325 movq %r12, %rdi
326 call *40(%rax)
327 movq 8(%rbp), %rax
328 movq %r13, %rsi
329 movq %r12, %rdi
330 movq %rax, 0(%r13)
331 call __GI_xdr_replymsg
332 testl %eax, %eax
333 je .L53
334 movq 24(%rbp), %rax
335 movq %r12, %rdi
336 call *32(%rax)
337 cmpq $0, 120(%rbx)
338 movslq %eax, %r12
339 movq %r12, %r13
340 jne .L74
341 movq 64(%rbx), %rsi
342 movl 16(%rbx), %r9d
343 leaq 20(%rbx), %r8
344 movl (%rbx), %edi
345 xorl %ecx, %ecx
346 movq %r12, %rdx
347 call __sendto
348 .L52:
349 cmpl %r13d, %eax
350 jne .L53
351 cmpq $0, 464(%rbp)
352 je .L72
353 testl %eax, %eax
354 js .L72
355 movq 72(%rbx), %r14
356 movq 464(%r14), %r13
357 movq 24(%r13), %rdx
358 movq 16(%r13), %rax
359 movq (%rax,%rdx,8), %rbp
360 testq %rbp, %rbp
361 je .L54
362 movq 0(%r13), %rax
363 xorl %edx, %edx
364 leaq 0(,%rax,4), %rcx
365 movq 0(%rbp), %rax
366 divq %rcx
367 movq 8(%r13), %rax
368 movl %edx, %edx
369 leaq (%rax,%rdx,8), %rax
370 movq (%rax), %rdx
371 testq %rdx, %rdx
372 je .L55
373 cmpq %rbp, %rdx
374 jne .L57
375 jmp .L56
376 .p2align 4,,10
377 .p2align 3
378 .L76:
379 cmpq %rax, %rbp
380 je .L75
381 movq %rax, %rdx
382 .L57:
383 movq 64(%rdx), %rax
384 testq %rax, %rax
385 jne .L76
386 .L55:
387 leaq .LC3(%rip), %rsi
388 movl $5, %edx
389 .L73:
390 leaq __GI__libc_intl_domainname(%rip), %rdi
391 call __GI___dcgettext
392 leaq .LC1(%rip), %rsi
393 movq %rax, %rdx
394 xorl %edi, %edi
395 xorl %eax, %eax
396 call __fxprintf
397 .L72:
398 addq $24, %rsp
399 movl $1, %eax
400 popq %rbx
401 popq %rbp
402 popq %r12
403 popq %r13
404 popq %r14
405 popq %r15
407 .p2align 4,,10
408 .p2align 3
409 .L53:
410 xorl %eax, %eax
411 .L48:
412 addq $24, %rsp
413 popq %rbx
414 popq %rbp
415 popq %r12
416 popq %r13
417 popq %r14
418 popq %r15
420 .p2align 4,,10
421 .p2align 3
422 .L74:
423 movq 64(%rbx), %rax
424 movl (%rbx), %edi
425 leaq 96(%rbx), %rsi
426 movq %r12, 88(%rbx)
427 xorl %edx, %edx
428 movq %rax, 80(%rbx)
429 call __sendmsg
430 jmp .L52
431 .p2align 4,,10
432 .p2align 3
433 .L75:
434 leaq 64(%rdx), %rax
435 .L56:
436 movq 64(%rbp), %rdx
437 movq 48(%rbp), %rsi
438 movq %rdx, (%rax)
439 movl (%r14), %edx
440 .L59:
441 movq 64(%rbx), %rax
442 leaq 16(%r14), %rdi
443 movq %r12, 56(%rbp)
444 xorl %ecx, %ecx
445 movq %rax, 48(%rbp)
446 movq %rsi, 64(%rbx)
447 call __GI_xdrmem_create
448 movq 48(%r13), %rdx
449 movq 8(%r14), %rax
450 movdqu 56(%r13), %xmm0
451 movq %rdx, 8(%rbp)
452 movq 40(%r13), %rdx
453 movq %rax, 0(%rbp)
454 movq %rdx, 16(%rbp)
455 movq 32(%r13), %rdx
456 movups %xmm0, 32(%rbp)
457 movq %rdx, 24(%rbp)
458 movq 72(%rbx), %rdx
459 movq 464(%rdx), %rdx
460 movq (%rdx), %rcx
461 xorl %edx, %edx
462 salq $2, %rcx
463 divq %rcx
464 movl %edx, %eax
465 movq 8(%r13), %rdx
466 leaq (%rdx,%rax,8), %rax
467 movq (%rax), %rdx
468 movq %rdx, 64(%rbp)
469 movq %rbp, (%rax)
470 movq 16(%r13), %rdx
471 movq 24(%r13), %rax
472 movq %rbp, (%rdx,%rax,8)
473 addq $1, %rax
474 xorl %edx, %edx
475 divq 0(%r13)
476 movl $1, %eax
477 movq %rdx, 24(%r13)
478 jmp .L48
479 .p2align 4,,10
480 .p2align 3
481 .L54:
482 movl $72, %edi
483 call malloc@PLT
484 testq %rax, %rax
485 movq %rax, %r15
486 movq %rax, %rbp
487 movl $5, %edx
488 leaq .LC0(%rip), %rsi
489 je .L73
490 movl (%r14), %edi
491 movl %edi, 12(%rsp)
492 call malloc@PLT
493 testq %rax, %rax
494 movq %rax, %rsi
495 movl 12(%rsp), %edx
496 jne .L59
497 movq %r15, %rdi
498 call free@PLT
499 movl $5, %edx
500 leaq .LC2(%rip), %rsi
501 jmp .L73
502 .size svcudp_reply, .-svcudp_reply
503 .section .rodata.str1.8
504 .align 8
505 .LC4:
506 .string "svcudp_create: socket creation problem"
507 .align 8
508 .LC5:
509 .string "svcudp_create - cannot getsockname"
510 .section .rodata.str1.1
511 .LC6:
512 .string "out of memory\n"
513 .LC7:
514 .string "svcudp_create"
515 .LC8:
516 .string "%s: %s"
517 .text
518 .p2align 4,,15
519 .globl __GI_svcudp_bufcreate
520 .hidden __GI_svcudp_bufcreate
521 .type __GI_svcudp_bufcreate, @function
522 __GI_svcudp_bufcreate:
523 pushq %r15
524 pushq %r14
525 xorl %r15d, %r15d
526 pushq %r13
527 pushq %r12
528 movl %esi, %r14d
529 pushq %rbp
530 pushq %rbx
531 movl %edx, %r13d
532 movl %edi, %r12d
533 subq $40, %rsp
534 cmpl $-1, %edi
535 movl $16, 8(%rsp)
536 je .L96
537 .L78:
538 leaq 16(%rsp), %rbx
539 xorl %edx, %edx
540 movq $0, 18(%rsp)
541 movl $2, %ecx
542 movl %r12d, %edi
543 movl $0, 10(%rbx)
544 movw %dx, 14(%rbx)
545 movq %rbx, %rsi
546 movw %cx, 16(%rsp)
547 call __GI_bindresvport
548 testl %eax, %eax
549 jne .L97
550 .L80:
551 leaq 8(%rsp), %rdx
552 movq %rbx, %rsi
553 movl %r12d, %edi
554 call __getsockname
555 testl %eax, %eax
556 movl %eax, %ebx
557 jne .L98
558 movl $336, %edi
559 call malloc@PLT
560 movl $472, %edi
561 movq %rax, %rbp
562 call malloc@PLT
563 cmpl %r14d, %r13d
564 movq %rax, %r15
565 cmovb %r14d, %r13d
566 addl $3, %r13d
567 andl $-4, %r13d
568 movl %r13d, %edi
569 call malloc@PLT
570 testq %rbp, %rbp
571 movq %rax, %r14
572 sete %dl
573 testq %r15, %r15
574 sete %al
575 orb %al, %dl
576 jne .L89
577 testq %r14, %r14
578 je .L89
579 leaq 16(%r15), %rdi
580 movl %r13d, (%r15)
581 movl $1, %ecx
582 movl %r13d, %edx
583 movq %r14, %rsi
584 movq %r14, 64(%rbp)
585 call __GI_xdrmem_create
586 leaq svcudp_op(%rip), %rax
587 movq $0, 464(%r15)
588 movq %r15, 72(%rbp)
589 leaq 12(%rsp), %rcx
590 addq $64, %r15
591 xorl %esi, %esi
592 movq %rax, 8(%rbp)
593 movzwl 18(%rsp), %eax
594 movl $4, %r8d
595 movq %r15, 48(%rbp)
596 movl %r12d, 0(%rbp)
597 movl $8, %edx
598 movl %r12d, %edi
599 movl $1, 12(%rsp)
600 rolw $8, %ax
601 movw %ax, 4(%rbp)
602 call __setsockopt
603 testl %eax, %eax
604 jne .L84
605 movl $255, 12(%rsp)
606 movl $255, %ebx
607 .L85:
608 movzbl %bl, %ecx
609 movabsq $72340172838076673, %rdi
610 movq %rcx, %rax
611 movq %rcx, %rsi
612 mulq %rdi
613 imulq %rdi, %rsi
614 movq %rax, 80(%rbp)
615 movq %rcx, %rax
616 addq %rdx, %rsi
617 mulq %rdi
618 movq %rsi, 88(%rbp)
619 movq %rsi, 104(%rbp)
620 movq %rsi, 120(%rbp)
621 movq %rsi, 136(%rbp)
622 movq %rsi, 152(%rbp)
623 movq %rsi, 168(%rbp)
624 movq %rsi, 184(%rbp)
625 movq %rsi, 200(%rbp)
626 movq %rax, 96(%rbp)
627 movq %rcx, %rax
628 movq %rsi, 216(%rbp)
629 mulq %rdi
630 movq %rsi, 232(%rbp)
631 movq %rsi, 248(%rbp)
632 movq %rsi, 264(%rbp)
633 movq %rsi, 280(%rbp)
634 movq %rsi, 296(%rbp)
635 movq %rsi, 312(%rbp)
636 movq %rsi, 328(%rbp)
637 movq %rax, 112(%rbp)
638 movq %rcx, %rax
639 mulq %rdi
640 movq %rax, 128(%rbp)
641 movq %rcx, %rax
642 mulq %rdi
643 movq %rax, 144(%rbp)
644 movq %rcx, %rax
645 mulq %rdi
646 movq %rax, 160(%rbp)
647 movq %rcx, %rax
648 mulq %rdi
649 movq %rax, 176(%rbp)
650 movq %rcx, %rax
651 mulq %rdi
652 movq %rax, 192(%rbp)
653 movq %rcx, %rax
654 mulq %rdi
655 movq %rax, 208(%rbp)
656 movq %rcx, %rax
657 mulq %rdi
658 movq %rax, 224(%rbp)
659 movq %rcx, %rax
660 mulq %rdi
661 movq %rax, 240(%rbp)
662 movq %rcx, %rax
663 mulq %rdi
664 movq %rax, 256(%rbp)
665 movq %rcx, %rax
666 mulq %rdi
667 movq %rax, 272(%rbp)
668 movq %rcx, %rax
669 mulq %rdi
670 movq %rax, 288(%rbp)
671 movq %rcx, %rax
672 mulq %rdi
673 movq %rax, 304(%rbp)
674 movq %rcx, %rax
675 mulq %rdi
676 movq %rbp, %rdi
677 movq %rax, 320(%rbp)
678 call __GI_xprt_register
679 .L77:
680 addq $40, %rsp
681 movq %rbp, %rax
682 popq %rbx
683 popq %rbp
684 popq %r12
685 popq %r13
686 popq %r14
687 popq %r15
689 .p2align 4,,10
690 .p2align 3
691 .L98:
692 leaq .LC5(%rip), %rsi
693 leaq __GI__libc_intl_domainname(%rip), %rdi
694 movl $5, %edx
695 xorl %ebp, %ebp
696 call __GI___dcgettext
697 movq %rax, %rdi
698 call __GI_perror
699 testl %r15d, %r15d
700 je .L77
701 movl %r12d, %edi
702 call __GI___close
703 jmp .L77
704 .p2align 4,,10
705 .p2align 3
706 .L96:
707 movl $17, %edx
708 movl $2, %esi
709 movl $2, %edi
710 call __GI___socket
711 testl %eax, %eax
712 movl %eax, %r12d
713 movl $1, %r15d
714 jns .L78
715 leaq .LC4(%rip), %rsi
716 leaq __GI__libc_intl_domainname(%rip), %rdi
717 movl $5, %edx
718 xorl %ebp, %ebp
719 call __GI___dcgettext
720 movq %rax, %rdi
721 call __GI_perror
722 jmp .L77
723 .p2align 4,,10
724 .p2align 3
725 .L97:
726 movl 8(%rsp), %edx
727 xorl %eax, %eax
728 movq %rbx, %rsi
729 movl %r12d, %edi
730 movw %ax, 18(%rsp)
731 call __bind
732 jmp .L80
733 .p2align 4,,10
734 .p2align 3
735 .L84:
736 movl $0, 12(%rsp)
737 jmp .L85
738 .p2align 4,,10
739 .p2align 3
740 .L89:
741 leaq .LC6(%rip), %rsi
742 leaq __GI__libc_intl_domainname(%rip), %rdi
743 movl $5, %edx
744 call __GI___dcgettext
745 leaq .LC7(%rip), %rdx
746 leaq .LC8(%rip), %rsi
747 movq %rax, %rcx
748 xorl %edi, %edi
749 xorl %eax, %eax
750 call __fxprintf
751 movq %rbp, %rdi
752 xorl %ebp, %ebp
753 call free@PLT
754 movq %r15, %rdi
755 call free@PLT
756 movq %r14, %rdi
757 call free@PLT
758 jmp .L77
759 .size __GI_svcudp_bufcreate, .-__GI_svcudp_bufcreate
760 .globl svcudp_bufcreate
761 .set svcudp_bufcreate,__GI_svcudp_bufcreate
762 .p2align 4,,15
763 .globl __GI_svcudp_create
764 .hidden __GI_svcudp_create
765 .type __GI_svcudp_create, @function
766 __GI_svcudp_create:
767 movl $8800, %edx
768 movl $8800, %esi
769 jmp __GI_svcudp_bufcreate
770 .size __GI_svcudp_create, .-__GI_svcudp_create
771 .globl svcudp_create
772 .set svcudp_create,__GI_svcudp_create
773 .section .rodata.str1.8
774 .align 8
775 .LC9:
776 .string "enablecache: cache already enabled"
777 .align 8
778 .LC10:
779 .string "enablecache: could not allocate cache"
780 .align 8
781 .LC11:
782 .string "enablecache: could not allocate cache data"
783 .align 8
784 .LC12:
785 .string "enablecache: could not allocate cache fifo"
786 .text
787 .p2align 4,,15
788 .globl __GI_svcudp_enablecache
789 .hidden __GI_svcudp_enablecache
790 .type __GI_svcudp_enablecache, @function
791 __GI_svcudp_enablecache:
792 pushq %r13
793 pushq %r12
794 pushq %rbp
795 pushq %rbx
796 subq $8, %rsp
797 movq 72(%rdi), %rbx
798 cmpq $0, 464(%rbx)
799 je .L101
800 leaq .LC9(%rip), %rsi
801 movl $5, %edx
802 .L107:
803 leaq __GI__libc_intl_domainname(%rip), %rdi
804 call __GI___dcgettext
805 leaq .LC1(%rip), %rsi
806 movq %rax, %rdx
807 xorl %edi, %edi
808 xorl %eax, %eax
809 call __fxprintf
810 addq $8, %rsp
811 xorl %eax, %eax
812 popq %rbx
813 popq %rbp
814 popq %r12
815 popq %r13
817 .p2align 4,,10
818 .p2align 3
819 .L101:
820 movl $72, %edi
821 movq %rsi, %r12
822 call malloc@PLT
823 testq %rax, %rax
824 movq %rax, %rbp
825 movl $5, %edx
826 leaq .LC10(%rip), %rsi
827 je .L107
828 leaq 0(,%r12,4), %rsi
829 movq %r12, (%rax)
830 movq $0, 24(%rax)
831 movl $8, %edi
832 call calloc@PLT
833 testq %rax, %rax
834 movq %rax, %r13
835 movq %rax, 8(%rbp)
836 je .L108
837 movq %r12, %rsi
838 movl $8, %edi
839 call calloc@PLT
840 testq %rax, %rax
841 movq %rax, 16(%rbp)
842 je .L109
843 movq %rbp, 464(%rbx)
844 addq $8, %rsp
845 movl $1, %eax
846 popq %rbx
847 popq %rbp
848 popq %r12
849 popq %r13
851 .p2align 4,,10
852 .p2align 3
853 .L108:
854 movq %rbp, %rdi
855 call free@PLT
856 movl $5, %edx
857 leaq .LC11(%rip), %rsi
858 jmp .L107
859 .p2align 4,,10
860 .p2align 3
861 .L109:
862 movq %r13, %rdi
863 call free@PLT
864 movq %rbp, %rdi
865 call free@PLT
866 movl $5, %edx
867 leaq .LC12(%rip), %rsi
868 jmp .L107
869 .size __GI_svcudp_enablecache, .-__GI_svcudp_enablecache
870 .globl __EI_svcudp_enablecache
871 .set __EI_svcudp_enablecache,__GI_svcudp_enablecache
872 .section .data.rel.ro.local,"aw",@progbits
873 .align 32
874 .type svcudp_op, @object
875 .size svcudp_op, 48
876 svcudp_op:
877 .quad svcudp_recv
878 .quad svcudp_stat
879 .quad svcudp_getargs
880 .quad svcudp_reply
881 .quad svcudp_freeargs
882 .quad svcudp_destroy
883 .hidden __bind
884 .hidden __setsockopt
885 .hidden __getsockname
886 .hidden __fxprintf
887 .hidden __sendmsg
888 .hidden __svc_accept_failed
889 .hidden __recvfrom
890 .hidden __sendto
891 .hidden __recvmsg