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