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