clarify the purpose of this project
[nyanglibc.git] / nptl / accept.shared.s
blobe4de41984cc83c1d88d46a5657c18d955a94d610
1 .text
2 .p2align 4,,15
3 .globl __libc_accept
4 .hidden __libc_accept
5 .type __libc_accept, @function
6 __libc_accept:
7 #APP
8 # 26 "../sysdeps/unix/sysv/linux/accept.c" 1
9 movl %fs:24,%eax
10 # 0 "" 2
11 #NO_APP
12 testl %eax, %eax
13 jne .L2
14 movl $43, %eax
15 #APP
16 # 26 "../sysdeps/unix/sysv/linux/accept.c" 1
17 syscall
19 # 0 "" 2
20 #NO_APP
21 cmpq $-4096, %rax
22 ja .L11
23 rep ret
24 .p2align 4,,10
25 .p2align 3
26 .L2:
27 pushq %r12
28 pushq %rbp
29 movq %rdx, %r12
30 pushq %rbx
31 movq %rsi, %rbp
32 movl %edi, %ebx
33 subq $16, %rsp
34 call __pthread_enable_asynccancel
35 movq %r12, %rdx
36 movl %eax, %r8d
37 movq %rbp, %rsi
38 movl %ebx, %edi
39 movl $43, %eax
40 #APP
41 # 26 "../sysdeps/unix/sysv/linux/accept.c" 1
42 syscall
44 # 0 "" 2
45 #NO_APP
46 cmpq $-4096, %rax
47 ja .L12
48 .L6:
49 movl %r8d, %edi
50 movl %eax, 12(%rsp)
51 call __pthread_disable_asynccancel
52 movl 12(%rsp), %eax
53 addq $16, %rsp
54 popq %rbx
55 popq %rbp
56 popq %r12
57 ret
58 .p2align 4,,10
59 .p2align 3
60 .L11:
61 movq errno@gottpoff(%rip), %rdx
62 negl %eax
63 movl %eax, %fs:(%rdx)
64 movl $-1, %eax
65 ret
66 .L12:
67 movq errno@gottpoff(%rip), %rdx
68 negl %eax
69 movl %eax, %fs:(%rdx)
70 movl $-1, %eax
71 jmp .L6
72 .size __libc_accept, .-__libc_accept
73 .weak accept
74 .set accept,__libc_accept
75 .hidden __pthread_disable_asynccancel
76 .hidden __pthread_enable_asynccancel