clarify the purpose of this project
[nyanglibc.git] / io / rtld-openat64.shared.s
blob26c7a694bab45edd3e8b06993d108faaec9a0c6c
1 .text
2 .p2align 4,,15
3 .globl __libc_openat64
4 .type __libc_openat64, @function
5 __libc_openat64:
6 testb $64, %dl
7 movq %rcx, -24(%rsp)
8 jne .L2
9 movl %edx, %eax
10 xorl %r10d, %r10d
11 andl $4259840, %eax
12 cmpl $4259840, %eax
13 je .L2
14 .L3:
15 movl $257, %eax
16 #APP
17 # 45 "../sysdeps/unix/sysv/linux/openat64.c" 1
18 syscall
20 # 0 "" 2
21 #NO_APP
22 cmpq $-4096, %rax
23 ja .L10
24 rep ret
25 .p2align 4,,10
26 .p2align 3
27 .L2:
28 leaq 8(%rsp), %rax
29 movl $24, -72(%rsp)
30 movl -24(%rsp), %r10d
31 movq %rax, -64(%rsp)
32 leaq -48(%rsp), %rax
33 movq %rax, -56(%rsp)
34 jmp .L3
35 .p2align 4,,10
36 .p2align 3
37 .L10:
38 negl %eax
39 movl %eax, rtld_errno(%rip)
40 movl $-1, %eax
41 ret
42 .size __libc_openat64, .-__libc_openat64
43 .weak openat
44 .set openat,__libc_openat64
45 .globl __openat
46 .set __openat,__libc_openat64
47 .weak openat64
48 .set openat64,__libc_openat64
49 .globl __openat64
50 .set __openat64,__libc_openat64
51 .hidden rtld_errno