clarify the purpose of this project
[nyanglibc.git] / sunrpc / svc.shared.s
blob4647963b9ff941734fb293a39937fe012c3ffa05
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __EI_xprt_register, xprt_register@GLIBC_2.2.5
7 .symver __EI_xprt_unregister, xprt_unregister@GLIBC_2.2.5
8 .symver __EI_svc_register, svc_register@GLIBC_2.2.5
9 .symver __EI_svc_unregister, svc_unregister@GLIBC_2.2.5
10 .symver __EI_svc_sendreply, svc_sendreply@GLIBC_2.2.5
11 .symver __EI_svcerr_noproc, svcerr_noproc@GLIBC_2.2.5
12 .symver __EI_svcerr_decode, svcerr_decode@GLIBC_2.2.5
13 .symver __EI_svcerr_systemerr, svcerr_systemerr@GLIBC_2.2.5
14 .symver __EI_svcerr_auth, svcerr_auth@GLIBC_2.2.5
15 .symver __EI_svcerr_weakauth, svcerr_weakauth@GLIBC_2.2.5
16 .symver __EI_svcerr_noprog, svcerr_noprog@GLIBC_2.2.5
17 .symver __EI_svcerr_progvers, svcerr_progvers@GLIBC_2.2.5
18 .symver __EI_svc_getreq, svc_getreq@GLIBC_2.2.5
19 .symver __EI_svc_getreqset, svc_getreqset@GLIBC_2.2.5
20 .symver __EI_svc_getreq_poll, svc_getreq_poll@GLIBC_2.2.5
21 .symver __EI_svc_getreq_common, svc_getreq_common@GLIBC_2.2.5
22 #NO_APP
23 .p2align 4,,15
24 .globl __GI_xprt_register
25 .hidden __GI_xprt_register
26 .type __GI_xprt_register, @function
27 __GI_xprt_register:
28 pushq %r13
29 pushq %r12
30 movq %rdi, %r12
31 pushq %rbp
32 pushq %rbx
33 subq $8, %rsp
34 movl (%rdi), %ebp
35 call __rpc_thread_variables
36 cmpq $0, 224(%rax)
37 movq %rax, %rbx
38 je .L2
39 .L5:
40 call __GI__rpc_dtablesize
41 cmpl %ebp, %eax
42 jle .L1
43 movq 224(%rbx), %rdx
44 movslq %ebp, %rax
45 cmpl $1023, %ebp
46 movq %r12, (%rdx,%rax,8)
47 jg .L7
48 call __GI___rpc_thread_svc_fdset
49 leal 63(%rbp), %edx
50 testl %ebp, %ebp
51 movl %ebp, %esi
52 cmovns %ebp, %edx
53 sarl $31, %esi
54 shrl $26, %esi
55 sarl $6, %edx
56 leal 0(%rbp,%rsi), %ecx
57 movslq %edx, %rdx
58 andl $63, %ecx
59 subl %esi, %ecx
60 movl $1, %esi
61 salq %cl, %rsi
62 orq %rsi, (%rax,%rdx,8)
63 .L7:
64 call __GI___rpc_thread_svc_max_pollfd
65 movq %rax, %r12
66 movl (%rax), %ebx
67 call __GI___rpc_thread_svc_pollfd
68 movq (%rax), %rdi
69 movq %rax, %r13
70 xorl %edx, %edx
71 movq %rdi, %rax
72 jmp .L8
73 .p2align 4,,10
74 .p2align 3
75 .L10:
76 movq %rax, %rcx
77 addq $8, %rax
78 cmpl $-1, -8(%rax)
79 je .L16
80 addl $1, %edx
81 .L8:
82 cmpl %edx, %ebx
83 jg .L10
84 leal 1(%rbx), %esi
85 movslq %esi, %rsi
86 salq $3, %rsi
87 call realloc@PLT
88 testq %rax, %rax
89 je .L1
90 movl (%r12), %edi
91 movq %rax, 0(%r13)
92 movl $195, %ecx
93 leal 1(%rdi), %edx
94 movl %edx, (%r12)
95 movslq %edx, %rdx
96 movl %ebp, -8(%rax,%rdx,8)
97 movslq (%r12), %rdx
98 movw %cx, -4(%rax,%rdx,8)
99 .L1:
100 addq $8, %rsp
101 popq %rbx
102 popq %rbp
103 popq %r12
104 popq %r13
106 .p2align 4,,10
107 .p2align 3
108 .L2:
109 call __GI__rpc_dtablesize
110 movl $8, %esi
111 movslq %eax, %rdi
112 call calloc@PLT
113 testq %rax, %rax
114 movq %rax, 224(%rbx)
115 jne .L5
116 jmp .L1
117 .p2align 4,,10
118 .p2align 3
119 .L16:
120 movl $195, %esi
121 movl %ebp, (%rcx)
122 movw %si, 4(%rcx)
123 addq $8, %rsp
124 popq %rbx
125 popq %rbp
126 popq %r12
127 popq %r13
129 .size __GI_xprt_register, .-__GI_xprt_register
130 .globl __EI_xprt_register
131 .set __EI_xprt_register,__GI_xprt_register
132 .p2align 4,,15
133 .globl __GI_xprt_unregister
134 .hidden __GI_xprt_unregister
135 .type __GI_xprt_unregister, @function
136 __GI_xprt_unregister:
137 pushq %r13
138 pushq %r12
139 pushq %rbp
140 pushq %rbx
141 movq %rdi, %rbx
142 subq $8, %rsp
143 movl (%rdi), %ebp
144 call __GI__rpc_dtablesize
145 cmpl %ebp, %eax
146 jle .L17
147 call __rpc_thread_variables
148 movq 224(%rax), %rcx
149 movslq %ebp, %rdx
150 leaq (%rcx,%rdx,8), %rax
151 cmpq %rbx, (%rax)
152 je .L25
153 .L17:
154 addq $8, %rsp
155 popq %rbx
156 popq %rbp
157 popq %r12
158 popq %r13
160 .p2align 4,,10
161 .p2align 3
162 .L25:
163 cmpl $1023, %ebp
164 movq $0, (%rax)
165 jg .L20
166 call __GI___rpc_thread_svc_fdset
167 leal 63(%rbp), %edx
168 testl %ebp, %ebp
169 movl %ebp, %esi
170 cmovns %ebp, %edx
171 sarl $31, %esi
172 shrl $26, %esi
173 sarl $6, %edx
174 leal 0(%rbp,%rsi), %ecx
175 movslq %edx, %rdx
176 andl $63, %ecx
177 subl %esi, %ecx
178 movq $-2, %rsi
179 rolq %cl, %rsi
180 andq %rsi, (%rax,%rdx,8)
181 .L20:
182 call __GI___rpc_thread_svc_max_pollfd
183 xorl %ebx, %ebx
184 movq %rax, %r13
185 movl (%rax), %r12d
186 jmp .L21
187 .p2align 4,,10
188 .p2align 3
189 .L23:
190 call __GI___rpc_thread_svc_pollfd
191 movq (%rax), %rax
192 leaq (%rax,%rbx,8), %rax
193 cmpl %ebp, (%rax)
194 jne .L22
195 movl $-1, (%rax)
196 movl 0(%r13), %r12d
197 .L22:
198 addq $1, %rbx
199 .L21:
200 cmpl %ebx, %r12d
201 jg .L23
202 addq $8, %rsp
203 popq %rbx
204 popq %rbp
205 popq %r12
206 popq %r13
208 .size __GI_xprt_unregister, .-__GI_xprt_unregister
209 .globl __EI_xprt_unregister
210 .set __EI_xprt_unregister,__GI_xprt_unregister
211 .p2align 4,,15
212 .globl __GI_svc_register
213 .hidden __GI_svc_register
214 .type __GI_svc_register, @function
215 __GI_svc_register:
216 pushq %r15
217 pushq %r14
218 pushq %r13
219 pushq %r12
220 movq %rcx, %r13
221 pushq %rbp
222 pushq %rbx
223 movq %rsi, %rbp
224 movq %rdx, %r12
225 subq $24, %rsp
226 movq %rdi, 8(%rsp)
227 movq %r8, (%rsp)
228 call __rpc_thread_variables
229 movq 232(%rax), %r14
230 movq %rax, %r15
231 testq %r14, %r14
232 je .L27
233 movq %r14, %rbx
234 jmp .L30
235 .p2align 4,,10
236 .p2align 3
237 .L28:
238 movq (%rbx), %rbx
239 testq %rbx, %rbx
240 je .L27
241 .L30:
242 cmpq 8(%rbx), %rbp
243 jne .L28
244 cmpq 16(%rbx), %r12
245 jne .L28
246 cmpq %r13, 24(%rbx)
247 je .L31
248 .L34:
249 xorl %r13d, %r13d
250 .L26:
251 addq $24, %rsp
252 movl %r13d, %eax
253 popq %rbx
254 popq %rbp
255 popq %r12
256 popq %r13
257 popq %r14
258 popq %r15
260 .p2align 4,,10
261 .p2align 3
262 .L27:
263 movl $40, %edi
264 call malloc@PLT
265 testq %rax, %rax
266 movq %rax, %rbx
267 je .L34
268 movq %rbp, 8(%rbx)
269 movq %r12, 16(%rbx)
270 movq %r13, 24(%rbx)
271 movq %r14, (%rbx)
272 movl $0, 32(%rbx)
273 movq %rbx, 232(%r15)
274 .L31:
275 cmpq $0, (%rsp)
276 movl $1, %r13d
277 je .L26
278 movq 8(%rsp), %rax
279 movl (%rsp), %edx
280 movq %r12, %rsi
281 movq %rbp, %rdi
282 movzwl 4(%rax), %ecx
283 call __GI_pmap_set
284 testl %eax, %eax
285 je .L34
286 movl $1, 32(%rbx)
287 jmp .L26
288 .size __GI_svc_register, .-__GI_svc_register
289 .globl __EI_svc_register
290 .set __EI_svc_register,__GI_svc_register
291 .p2align 4,,15
292 .globl __GI_svc_unregister
293 .hidden __GI_svc_unregister
294 .type __GI_svc_unregister, @function
295 __GI_svc_unregister:
296 pushq %r12
297 pushq %rbp
298 movq %rsi, %rbp
299 pushq %rbx
300 movq %rdi, %rbx
301 call __rpc_thread_variables
302 movq 232(%rax), %rdi
303 xorl %ecx, %ecx
304 testq %rdi, %rdi
305 jne .L48
306 jmp .L47
307 .p2align 4,,10
308 .p2align 3
309 .L50:
310 movq (%rdi), %rdx
311 movq %rdi, %rcx
312 testq %rdx, %rdx
313 je .L47
314 movq %rdx, %rdi
315 .L48:
316 cmpq 8(%rdi), %rbx
317 jne .L50
318 cmpq 16(%rdi), %rbp
319 jne .L50
320 testq %rcx, %rcx
321 movl 32(%rdi), %r12d
322 movq (%rdi), %rdx
323 je .L65
324 movq %rdx, (%rcx)
325 .L53:
326 call free@PLT
327 testl %r12d, %r12d
328 je .L47
329 movq %rbp, %rsi
330 movq %rbx, %rdi
331 popq %rbx
332 popq %rbp
333 popq %r12
334 jmp __GI_pmap_unset
335 .p2align 4,,10
336 .p2align 3
337 .L47:
338 popq %rbx
339 popq %rbp
340 popq %r12
342 .p2align 4,,10
343 .p2align 3
344 .L65:
345 movq %rdx, 232(%rax)
346 jmp .L53
347 .size __GI_svc_unregister, .-__GI_svc_unregister
348 .globl __EI_svc_unregister
349 .set __EI_svc_unregister,__GI_svc_unregister
350 .p2align 4,,15
351 .globl __GI_svc_sendreply
352 .hidden __GI_svc_sendreply
353 .type __GI_svc_sendreply, @function
354 __GI_svc_sendreply:
355 subq $104, %rsp
356 movq 56(%rdi), %rax
357 movdqu 40(%rdi), %xmm0
358 movq %rsi, 64(%rsp)
359 movl $1, 8(%rsp)
360 movq %rsp, %rsi
361 movq %rax, 40(%rsp)
362 movq 8(%rdi), %rax
363 movl $0, 16(%rsp)
364 movl $0, 48(%rsp)
365 movups %xmm0, 24(%rsp)
366 movq %rdx, 56(%rsp)
367 call *24(%rax)
368 addq $104, %rsp
370 .size __GI_svc_sendreply, .-__GI_svc_sendreply
371 .globl __EI_svc_sendreply
372 .set __EI_svc_sendreply,__GI_svc_sendreply
373 .p2align 4,,15
374 .globl __GI_svcerr_noproc
375 .hidden __GI_svcerr_noproc
376 .type __GI_svcerr_noproc, @function
377 __GI_svcerr_noproc:
378 subq $104, %rsp
379 movq 56(%rdi), %rax
380 movdqu 40(%rdi), %xmm0
381 movq %rsp, %rsi
382 movl $1, 8(%rsp)
383 movl $0, 16(%rsp)
384 movq %rax, 40(%rsp)
385 movq 8(%rdi), %rax
386 movups %xmm0, 24(%rsp)
387 movl $3, 48(%rsp)
388 call *24(%rax)
389 addq $104, %rsp
391 .size __GI_svcerr_noproc, .-__GI_svcerr_noproc
392 .globl __EI_svcerr_noproc
393 .set __EI_svcerr_noproc,__GI_svcerr_noproc
394 .p2align 4,,15
395 .globl __GI_svcerr_decode
396 .hidden __GI_svcerr_decode
397 .type __GI_svcerr_decode, @function
398 __GI_svcerr_decode:
399 subq $104, %rsp
400 movq 56(%rdi), %rax
401 movdqu 40(%rdi), %xmm0
402 movq %rsp, %rsi
403 movl $1, 8(%rsp)
404 movl $0, 16(%rsp)
405 movq %rax, 40(%rsp)
406 movq 8(%rdi), %rax
407 movups %xmm0, 24(%rsp)
408 movl $4, 48(%rsp)
409 call *24(%rax)
410 addq $104, %rsp
412 .size __GI_svcerr_decode, .-__GI_svcerr_decode
413 .globl __EI_svcerr_decode
414 .set __EI_svcerr_decode,__GI_svcerr_decode
415 .p2align 4,,15
416 .globl __GI_svcerr_systemerr
417 .hidden __GI_svcerr_systemerr
418 .type __GI_svcerr_systemerr, @function
419 __GI_svcerr_systemerr:
420 subq $104, %rsp
421 movq 56(%rdi), %rax
422 movdqu 40(%rdi), %xmm0
423 movq %rsp, %rsi
424 movl $1, 8(%rsp)
425 movl $0, 16(%rsp)
426 movq %rax, 40(%rsp)
427 movq 8(%rdi), %rax
428 movups %xmm0, 24(%rsp)
429 movl $5, 48(%rsp)
430 call *24(%rax)
431 addq $104, %rsp
433 .size __GI_svcerr_systemerr, .-__GI_svcerr_systemerr
434 .globl __EI_svcerr_systemerr
435 .set __EI_svcerr_systemerr,__GI_svcerr_systemerr
436 .p2align 4,,15
437 .globl __GI_svcerr_auth
438 .hidden __GI_svcerr_auth
439 .type __GI_svcerr_auth, @function
440 __GI_svcerr_auth:
441 subq $104, %rsp
442 movq 8(%rdi), %rax
443 movl %esi, 32(%rsp)
444 movl $1, 8(%rsp)
445 movq %rsp, %rsi
446 movl $1, 16(%rsp)
447 movl $1, 24(%rsp)
448 call *24(%rax)
449 addq $104, %rsp
451 .size __GI_svcerr_auth, .-__GI_svcerr_auth
452 .globl __EI_svcerr_auth
453 .set __EI_svcerr_auth,__GI_svcerr_auth
454 .p2align 4,,15
455 .globl __GI_svcerr_weakauth
456 .hidden __GI_svcerr_weakauth
457 .type __GI_svcerr_weakauth, @function
458 __GI_svcerr_weakauth:
459 subq $104, %rsp
460 movq 8(%rdi), %rax
461 movl $1, 8(%rsp)
462 movl $1, 16(%rsp)
463 movq %rsp, %rsi
464 movl $1, 24(%rsp)
465 movl $5, 32(%rsp)
466 call *24(%rax)
467 addq $104, %rsp
469 .size __GI_svcerr_weakauth, .-__GI_svcerr_weakauth
470 .globl __EI_svcerr_weakauth
471 .set __EI_svcerr_weakauth,__GI_svcerr_weakauth
472 .p2align 4,,15
473 .globl __GI_svcerr_noprog
474 .hidden __GI_svcerr_noprog
475 .type __GI_svcerr_noprog, @function
476 __GI_svcerr_noprog:
477 subq $104, %rsp
478 movq 56(%rdi), %rax
479 movdqu 40(%rdi), %xmm0
480 movq %rsp, %rsi
481 movl $1, 8(%rsp)
482 movl $0, 16(%rsp)
483 movq %rax, 40(%rsp)
484 movq 8(%rdi), %rax
485 movups %xmm0, 24(%rsp)
486 movl $1, 48(%rsp)
487 call *24(%rax)
488 addq $104, %rsp
490 .size __GI_svcerr_noprog, .-__GI_svcerr_noprog
491 .globl __EI_svcerr_noprog
492 .set __EI_svcerr_noprog,__GI_svcerr_noprog
493 .p2align 4,,15
494 .globl __GI_svcerr_progvers
495 .hidden __GI_svcerr_progvers
496 .type __GI_svcerr_progvers, @function
497 __GI_svcerr_progvers:
498 subq $104, %rsp
499 movq 56(%rdi), %rax
500 movdqu 40(%rdi), %xmm0
501 movq %rsi, 56(%rsp)
502 movl $1, 8(%rsp)
503 movq %rsp, %rsi
504 movq %rax, 40(%rsp)
505 movq 8(%rdi), %rax
506 movl $0, 16(%rsp)
507 movl $2, 48(%rsp)
508 movups %xmm0, 24(%rsp)
509 movq %rdx, 64(%rsp)
510 call *24(%rax)
511 addq $104, %rsp
513 .size __GI_svcerr_progvers, .-__GI_svcerr_progvers
514 .globl __EI_svcerr_progvers
515 .set __EI_svcerr_progvers,__GI_svcerr_progvers
516 .p2align 4,,15
517 .globl __GI_svc_getreq_common
518 .hidden __GI_svc_getreq_common
519 .type __GI_svc_getreq_common, @function
520 __GI_svc_getreq_common:
521 pushq %r15
522 pushq %r14
523 pushq %r13
524 pushq %r12
525 pushq %rbp
526 pushq %rbx
527 movslq %edi, %rbp
528 subq $1464, %rsp
529 leaq 656(%rsp), %rax
530 leaq 256(%rsp), %rbx
531 movq %rax, 144(%rsp)
532 movq %rbx, 120(%rsp)
533 call __rpc_thread_variables
534 movq %rax, %r12
535 movq 224(%rax), %rax
536 movq (%rax,%rbp,8), %r15
537 testq %r15, %r15
538 je .L82
539 leaq 64(%rsp), %rbp
540 leaq 160(%rsp), %r13
541 addq $800, %rbx
542 movq %rsp, %r14
543 .p2align 4,,10
544 .p2align 3
545 .L94:
546 movq 8(%r15), %rax
547 movq %rbp, %rsi
548 movq %r15, %rdi
549 call *(%rax)
550 testl %eax, %eax
551 je .L84
552 movq 88(%rsp), %rax
553 movq %rbx, 48(%rsp)
554 movdqa 112(%rsp), %xmm0
555 movq %r15, 56(%rsp)
556 movq %rax, (%rsp)
557 movq 96(%rsp), %rax
558 movups %xmm0, 24(%rsp)
559 movq %rax, 8(%rsp)
560 movq 104(%rsp), %rax
561 movq %rax, 16(%rsp)
562 movq 128(%rsp), %rax
563 movq %rax, 40(%rsp)
564 movl 112(%rsp), %eax
565 testl %eax, %eax
566 jne .L85
567 movl __GI__null_auth(%rip), %eax
568 movl $0, 56(%r15)
569 movl %eax, 40(%r15)
570 .L86:
571 movq 232(%r12), %rax
572 testq %rax, %rax
573 je .L88
574 movq (%rsp), %rcx
575 movq 8(%rsp), %r8
576 xorl %edx, %edx
577 xorl %esi, %esi
578 movq $-1, %rdi
579 jmp .L91
580 .p2align 4,,10
581 .p2align 3
582 .L89:
583 movq (%rax), %rax
584 testq %rax, %rax
585 je .L111
586 .L91:
587 cmpq %rcx, 8(%rax)
588 jne .L89
589 movq 16(%rax), %rdx
590 cmpq %r8, %rdx
591 je .L112
592 movq (%rax), %rax
593 cmpq %rdx, %rdi
594 cmova %rdx, %rdi
595 cmpq %rdx, %rsi
596 cmovb %rdx, %rsi
597 movl $1, %edx
598 testq %rax, %rax
599 jne .L91
600 .L111:
601 movq 8(%r15), %rax
602 testl %edx, %edx
603 movq 24(%rax), %rax
604 je .L92
605 movq 56(%r15), %rdx
606 movl $1, 168(%rsp)
607 movdqu 40(%r15), %xmm0
608 movl $0, 176(%rsp)
609 movq %rdi, 216(%rsp)
610 movq %r15, %rdi
611 movq %rsi, 224(%rsp)
612 movq %rdx, 200(%rsp)
613 movq %r13, %rsi
614 movups %xmm0, 184(%rsp)
615 movl $2, 208(%rsp)
616 call *%rax
617 .p2align 4,,10
618 .p2align 3
619 .L84:
620 movq %r15, %rdi
621 movq 8(%r15), %rax
622 call *8(%rax)
623 testl %eax, %eax
624 je .L113
625 .L93:
626 cmpl $1, %eax
627 je .L94
628 .L82:
629 addq $1464, %rsp
630 popq %rbx
631 popq %rbp
632 popq %r12
633 popq %r13
634 popq %r14
635 popq %r15
637 .p2align 4,,10
638 .p2align 3
639 .L85:
640 movq %rbp, %rsi
641 movq %r14, %rdi
642 call __GI__authenticate
643 testl %eax, %eax
644 je .L86
645 movl %eax, 192(%rsp)
646 movq 8(%r15), %rax
647 movq %r13, %rsi
648 movq %r15, %rdi
649 movl $1, 168(%rsp)
650 movl $1, 176(%rsp)
651 movl $1, 184(%rsp)
652 call *24(%rax)
653 movq 8(%r15), %rax
654 movq %r15, %rdi
655 call *8(%rax)
656 testl %eax, %eax
657 jne .L93
658 .L113:
659 movq 8(%r15), %rax
660 movq %r15, %rdi
661 call *40(%rax)
662 jmp .L82
663 .L88:
664 movq 8(%r15), %rax
665 movq 24(%rax), %rax
666 .L92:
667 movq 56(%r15), %rdx
668 movl $1, 168(%rsp)
669 movq %r13, %rsi
670 movdqu 40(%r15), %xmm0
671 movq %r15, %rdi
672 movl $0, 176(%rsp)
673 movl $1, 208(%rsp)
674 movups %xmm0, 184(%rsp)
675 movq %rdx, 200(%rsp)
676 call *%rax
677 jmp .L84
678 .p2align 4,,10
679 .p2align 3
680 .L112:
681 movq %r15, %rsi
682 movq %r14, %rdi
683 call *24(%rax)
684 jmp .L84
685 .size __GI_svc_getreq_common, .-__GI_svc_getreq_common
686 .globl __EI_svc_getreq_common
687 .set __EI_svc_getreq_common,__GI_svc_getreq_common
688 .p2align 4,,15
689 .globl __GI_svc_getreqset
690 .hidden __GI_svc_getreqset
691 .type __GI_svc_getreqset, @function
692 __GI_svc_getreqset:
693 pushq %r15
694 pushq %r14
695 movl $1024, %r14d
696 pushq %r13
697 pushq %r12
698 movq %rdi, %r13
699 pushq %rbp
700 pushq %rbx
701 subq $8, %rsp
702 call __GI__rpc_dtablesize
703 cmpl $1024, %eax
704 cmovle %eax, %r14d
705 testl %eax, %eax
706 jle .L114
707 xorl %ebp, %ebp
708 movq $-1, %r12
709 .p2align 4,,10
710 .p2align 3
711 .L118:
712 addq $8, %r13
713 movq -8(%r13), %r15
714 jmp .L122
715 .p2align 4,,10
716 .p2align 3
717 .L123:
718 leal -1(%rax,%rbp), %edi
719 call __GI_svc_getreq_common
720 leal -1(%rbx), %ecx
721 movl $1, %eax
722 salq %cl, %rax
723 xorq %rax, %r15
724 .L122:
725 bsfq %r15, %rax
726 cmove %r12, %rax
727 addq $1, %rax
728 testl %eax, %eax
729 movl %eax, %ebx
730 jne .L123
731 addl $64, %ebp
732 cmpl %r14d, %ebp
733 jl .L118
734 .L114:
735 addq $8, %rsp
736 popq %rbx
737 popq %rbp
738 popq %r12
739 popq %r13
740 popq %r14
741 popq %r15
743 .size __GI_svc_getreqset, .-__GI_svc_getreqset
744 .globl __EI_svc_getreqset
745 .set __EI_svc_getreqset,__GI_svc_getreqset
746 .p2align 4,,15
747 .globl __GI_svc_getreq
748 .hidden __GI_svc_getreq
749 .type __GI_svc_getreq, @function
750 __GI_svc_getreq:
751 subq $136, %rsp
752 movl %edi, %ecx
753 leaq 128(%rsp), %rdx
754 movq %rsp, %rdi
755 movq %rdi, %rax
756 .p2align 4,,10
757 .p2align 3
758 .L125:
759 movq $0, (%rax)
760 addq $8, %rax
761 cmpq %rdx, %rax
762 jne .L125
763 movslq %ecx, %rax
764 movq %rax, (%rsp)
765 call __GI_svc_getreqset
766 addq $136, %rsp
768 .size __GI_svc_getreq, .-__GI_svc_getreq
769 .globl __EI_svc_getreq
770 .set __EI_svc_getreq,__GI_svc_getreq
771 .p2align 4,,15
772 .globl __GI_svc_getreq_poll
773 .hidden __GI_svc_getreq_poll
774 .type __GI_svc_getreq_poll, @function
775 __GI_svc_getreq_poll:
776 testl %esi, %esi
777 je .L143
778 pushq %r15
779 pushq %r14
780 xorl %r15d, %r15d
781 pushq %r13
782 pushq %r12
783 movl %esi, %r13d
784 pushq %rbp
785 pushq %rbx
786 movq %rdi, %r12
787 xorl %ebx, %ebx
788 subq $8, %rsp
789 call __GI___rpc_thread_svc_max_pollfd
790 movq %rax, %r14
791 movl (%rax), %edx
792 jmp .L130
793 .p2align 4,,10
794 .p2align 3
795 .L146:
796 call __rpc_thread_variables
797 movq 224(%rax), %rax
798 addl $1, %r15d
799 movq (%rax,%rbp,8), %rdi
800 call __GI_xprt_unregister
801 cmpl %r15d, %r13d
802 jle .L128
803 .L147:
804 movl (%r14), %edx
805 .L131:
806 addq $1, %rbx
807 .L130:
808 cmpl %ebx, %edx
809 jle .L128
810 movslq (%r12,%rbx,8), %rbp
811 cmpl $-1, %ebp
812 je .L131
813 movzwl 6(%r12,%rbx,8), %eax
814 testw %ax, %ax
815 je .L131
816 testb $32, %al
817 jne .L146
818 movl %ebp, %edi
819 addl $1, %r15d
820 call __GI_svc_getreq_common
821 cmpl %r15d, %r13d
822 jg .L147
823 .L128:
824 addq $8, %rsp
825 popq %rbx
826 popq %rbp
827 popq %r12
828 popq %r13
829 popq %r14
830 popq %r15
832 .p2align 4,,10
833 .p2align 3
834 .L143:
835 rep ret
836 .size __GI_svc_getreq_poll, .-__GI_svc_getreq_poll
837 .globl __EI_svc_getreq_poll
838 .set __EI_svc_getreq_poll,__GI_svc_getreq_poll
839 .p2align 4,,15
840 .globl __svc_wait_on_error
841 .hidden __svc_wait_on_error
842 .type __svc_wait_on_error, @function
843 __svc_wait_on_error:
844 subq $24, %rsp
845 xorl %esi, %esi
846 movq %rsp, %rdi
847 movq $0, (%rsp)
848 movq $50000000, 8(%rsp)
849 call __GI___nanosleep
850 addq $24, %rsp
852 .size __svc_wait_on_error, .-__svc_wait_on_error
853 .p2align 4,,15
854 .globl __svc_accept_failed
855 .hidden __svc_accept_failed
856 .type __svc_accept_failed, @function
857 __svc_accept_failed:
858 movq __libc_errno@gottpoff(%rip), %rax
859 cmpl $24, %fs:(%rax)
860 je .L156
861 rep ret
862 .p2align 4,,10
863 .p2align 3
864 .L156:
865 subq $24, %rsp
866 xorl %esi, %esi
867 movq %rsp, %rdi
868 movq $0, (%rsp)
869 movq $50000000, 8(%rsp)
870 call __GI___nanosleep
871 addq $24, %rsp
873 .size __svc_accept_failed, .-__svc_accept_failed
874 .p2align 4,,15
875 .globl __rpc_thread_svc_cleanup
876 .hidden __rpc_thread_svc_cleanup
877 .type __rpc_thread_svc_cleanup, @function
878 __rpc_thread_svc_cleanup:
879 pushq %rbx
880 call __rpc_thread_variables
881 movq %rax, %rbx
882 jmp .L158
883 .p2align 4,,10
884 .p2align 3
885 .L159:
886 movq 16(%rax), %rsi
887 movq 8(%rax), %rdi
888 call __GI_svc_unregister
889 .L158:
890 movq 232(%rbx), %rax
891 testq %rax, %rax
892 jne .L159
893 popq %rbx
895 .size __rpc_thread_svc_cleanup, .-__rpc_thread_svc_cleanup
896 .hidden __rpc_thread_variables