clarify the purpose of this project
[nyanglibc.git] / posix / waitid.shared.s
blob628c75b66f04bb0c1b38bc29dc9ec18c4e9495df
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 __waitid
9 .type __waitid, @function
10 __waitid:
11 movl %ecx, %r10d
12 #APP
13 # 29 "../sysdeps/unix/sysv/linux/waitid.c" 1
14 movl %fs:24,%eax
15 # 0 "" 2
16 #NO_APP
17 testl %eax, %eax
18 jne .L2
19 xorl %r8d, %r8d
20 movl $247, %eax
21 #APP
22 # 29 "../sysdeps/unix/sysv/linux/waitid.c" 1
23 syscall
25 # 0 "" 2
26 #NO_APP
27 cmpq $-4096, %rax
28 ja .L11
29 rep ret
30 .p2align 4,,10
31 .p2align 3
32 .L2:
33 pushq %r13
34 pushq %r12
35 movl %ecx, %r13d
36 pushq %rbp
37 pushq %rbx
38 movq %rdx, %r12
39 movl %esi, %ebp
40 movl %edi, %ebx
41 subq $24, %rsp
42 call __libc_enable_asynccancel
43 xorl %r8d, %r8d
44 movl %eax, %r9d
45 movl %r13d, %r10d
46 movq %r12, %rdx
47 movl %ebp, %esi
48 movl %ebx, %edi
49 movl $247, %eax
50 #APP
51 # 29 "../sysdeps/unix/sysv/linux/waitid.c" 1
52 syscall
54 # 0 "" 2
55 #NO_APP
56 cmpq $-4096, %rax
57 ja .L12
58 .L6:
59 movl %r9d, %edi
60 movl %eax, 12(%rsp)
61 call __libc_disable_asynccancel
62 movl 12(%rsp), %eax
63 addq $24, %rsp
64 popq %rbx
65 popq %rbp
66 popq %r12
67 popq %r13
68 ret
69 .p2align 4,,10
70 .p2align 3
71 .L11:
72 movq __libc_errno@gottpoff(%rip), %rdx
73 negl %eax
74 movl %eax, %fs:(%rdx)
75 movl $-1, %eax
76 ret
77 .L12:
78 movq __libc_errno@gottpoff(%rip), %rdx
79 negl %eax
80 movl %eax, %fs:(%rdx)
81 movl $-1, %eax
82 jmp .L6
83 .size __waitid, .-__waitid
84 .globl __libc_waitid
85 .set __libc_waitid,__waitid
86 .weak waitid
87 .set waitid,__waitid
88 .hidden __libc_disable_asynccancel
89 .hidden __libc_enable_asynccancel