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