clarify the purpose of this project
[nyanglibc.git] / io / open64_nocancel.s
blobcc52496c4c453405d172af689c9de7eb3fa41f2e
1 .text
2 .p2align 4,,15
3 .globl __open64_nocancel
4 .hidden __open64_nocancel
5 .type __open64_nocancel, @function
6 __open64_nocancel:
7 movl %esi, %r10d
8 movq %rdx, -32(%rsp)
9 andl $64, %r10d
10 jne .L2
11 movl %esi, %eax
12 andl $4259840, %eax
13 cmpl $4259840, %eax
14 je .L2
15 .L3:
16 movl %esi, %edx
17 movl $257, %eax
18 movq %rdi, %rsi
19 movl $-100, %edi
20 #APP
21 # 45 "../sysdeps/unix/sysv/linux/open64_nocancel.c" 1
22 syscall
24 # 0 "" 2
25 #NO_APP
26 cmpq $-4096, %rax
27 ja .L9
28 rep ret
29 .p2align 4,,10
30 .p2align 3
31 .L2:
32 leaq 8(%rsp), %rax
33 movl $16, -72(%rsp)
34 movl -32(%rsp), %r10d
35 movq %rax, -64(%rsp)
36 leaq -48(%rsp), %rax
37 movq %rax, -56(%rsp)
38 jmp .L3
39 .p2align 4,,10
40 .p2align 3
41 .L9:
42 movq __libc_errno@gottpoff(%rip), %rdx
43 negl %eax
44 movl %eax, %fs:(%rdx)
45 movl $-1, %eax
46 ret
47 .size __open64_nocancel, .-__open64_nocancel
48 .globl __open_nocancel
49 .hidden __open_nocancel
50 .set __open_nocancel,__open64_nocancel