clarify the purpose of this project
[nyanglibc.git] / misc / epoll_pwait.shared.s
blob18930a97eb991de2fa3b34b848a5357f05b930bc
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl __GI_epoll_pwait
9 .hidden __GI_epoll_pwait
10 .type __GI_epoll_pwait, @function
11 __GI_epoll_pwait:
12 movl %ecx, %r10d
13 #APP
14 # 40 "../sysdeps/unix/sysv/linux/epoll_pwait.c" 1
15 movl %fs:24,%eax
16 # 0 "" 2
17 #NO_APP
18 testl %eax, %eax
19 jne .L2
20 movl $8, %r9d
21 movl $281, %eax
22 #APP
23 # 40 "../sysdeps/unix/sysv/linux/epoll_pwait.c" 1
24 syscall
26 # 0 "" 2
27 #NO_APP
28 cmpq $-4096, %rax
29 ja .L11
30 rep ret
31 .p2align 4,,10
32 .p2align 3
33 .L2:
34 pushq %r15
35 pushq %r14
36 movq %r8, %r15
37 pushq %r13
38 pushq %r12
39 movl %ecx, %r14d
40 pushq %rbp
41 pushq %rbx
42 movl %edx, %r13d
43 movq %rsi, %r12
44 movl %edi, %ebx
45 subq $24, %rsp
46 call __libc_enable_asynccancel
47 movl $8, %r9d
48 movl %eax, %ebp
49 movq %r15, %r8
50 movl %r14d, %r10d
51 movl %r13d, %edx
52 movq %r12, %rsi
53 movl %ebx, %edi
54 movl $281, %eax
55 #APP
56 # 40 "../sysdeps/unix/sysv/linux/epoll_pwait.c" 1
57 syscall
59 # 0 "" 2
60 #NO_APP
61 cmpq $-4096, %rax
62 ja .L12
63 .L6:
64 movl %ebp, %edi
65 movl %eax, 12(%rsp)
66 call __libc_disable_asynccancel
67 movl 12(%rsp), %eax
68 addq $24, %rsp
69 popq %rbx
70 popq %rbp
71 popq %r12
72 popq %r13
73 popq %r14
74 popq %r15
75 ret
76 .p2align 4,,10
77 .p2align 3
78 .L11:
79 movq __libc_errno@gottpoff(%rip), %rdx
80 negl %eax
81 movl %eax, %fs:(%rdx)
82 movl $-1, %eax
83 ret
84 .L12:
85 movq __libc_errno@gottpoff(%rip), %rdx
86 negl %eax
87 movl %eax, %fs:(%rdx)
88 movl $-1, %eax
89 jmp .L6
90 .size __GI_epoll_pwait, .-__GI_epoll_pwait
91 .globl epoll_pwait
92 .set epoll_pwait,__GI_epoll_pwait
93 .hidden __libc_disable_asynccancel
94 .hidden __libc_enable_asynccancel