clarify the purpose of this project
[nyanglibc.git] / io / fcntl_nocancel.s
bloba4651db23f9862e28ce359f4e2270f271e468ffd
1 .text
2 .p2align 4,,15
3 .globl __fcntl64_nocancel_adjusted
4 .hidden __fcntl64_nocancel_adjusted
5 .type __fcntl64_nocancel_adjusted, @function
6 __fcntl64_nocancel_adjusted:
7 cmpl $9, %esi
8 je .L10
9 movl $72, %eax
10 #APP
11 # 63 "../sysdeps/unix/sysv/linux/fcntl_nocancel.c" 1
12 syscall
14 # 0 "" 2
15 #NO_APP
16 cmpq $-4096, %rax
17 ja .L8
18 .L1:
19 rep ret
20 .p2align 4,,10
21 .p2align 3
22 .L10:
23 leaq -8(%rsp), %rdx
24 movl $16, %esi
25 movl $72, %eax
26 #APP
27 # 55 "../sysdeps/unix/sysv/linux/fcntl_nocancel.c" 1
28 syscall
30 # 0 "" 2
31 #NO_APP
32 cmpl $-4096, %eax
33 jbe .L11
34 .L8:
35 movq __libc_errno@gottpoff(%rip), %rdx
36 negl %eax
37 movl %eax, %fs:(%rdx)
38 movl $-1, %eax
39 ret
40 .p2align 4,,10
41 .p2align 3
42 .L11:
43 cmpl $2, -8(%rsp)
44 movl -4(%rsp), %eax
45 jne .L1
46 negl %eax
47 ret
48 .size __fcntl64_nocancel_adjusted, .-__fcntl64_nocancel_adjusted
49 .p2align 4,,15
50 .globl __fcntl64_nocancel
51 .hidden __fcntl64_nocancel
52 .type __fcntl64_nocancel, @function
53 __fcntl64_nocancel:
54 subq $80, %rsp
55 leaq 88(%rsp), %rax
56 movq %rdx, 48(%rsp)
57 movl $16, 8(%rsp)
58 movq %rax, 16(%rsp)
59 leaq 32(%rsp), %rax
60 movq %rax, 24(%rsp)
61 call __fcntl64_nocancel_adjusted
62 addq $80, %rsp
63 ret
64 .size __fcntl64_nocancel, .-__fcntl64_nocancel