clarify the purpose of this project
[nyanglibc.git] / posix / sched_getcpu.shared.s
blob9cfdfafe56f462b91ce955e8fece28e91b968204
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 sched_getcpu
9 .type sched_getcpu, @function
10 sched_getcpu:
11 pushq %rbx
12 subq $16, %rsp
13 movq _rtld_global_ro@GOTPCREL(%rip), %rax
14 leaq 12(%rsp), %rbx
15 movq 712(%rax), %rax
16 testq %rax, %rax
17 je .L5
18 xorl %edx, %edx
19 xorl %esi, %esi
20 movq %rbx, %rdi
21 call *%rax
22 movslq %eax, %rdx
23 cmpq $-4096, %rdx
24 ja .L12
25 .L4:
26 cmpl $-1, %edx
27 movl %edx, %eax
28 je .L1
29 movl 12(%rsp), %eax
30 .L1:
31 addq $16, %rsp
32 popq %rbx
33 ret
34 .p2align 4,,10
35 .p2align 3
36 .L12:
37 cmpq $-38, %rdx
38 je .L5
39 .L3:
40 movq __libc_errno@gottpoff(%rip), %rax
41 negl %edx
42 movl %edx, %fs:(%rax)
43 addq $16, %rsp
44 movl $-1, %eax
45 popq %rbx
46 ret
47 .p2align 4,,10
48 .p2align 3
49 .L5:
50 xorl %edx, %edx
51 xorl %esi, %esi
52 movq %rbx, %rdi
53 movl $309, %eax
54 #APP
55 # 29 "../sysdeps/unix/sysv/linux/sched_getcpu.c" 1
56 syscall
58 # 0 "" 2
59 #NO_APP
60 cmpq $-4096, %rax
61 movq %rax, %rdx
62 ja .L3
63 jmp .L4
64 .size sched_getcpu, .-sched_getcpu