clarify the purpose of this project
[nyanglibc.git] / posix / sleep.shared.s
blob20a47ecc848d0aad11cd1a63aa86e45205d7f6da
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 __sleep
9 .hidden __sleep
10 .type __sleep, @function
11 __sleep:
12 pushq %rbp
13 pushq %rbx
14 movl %edi, %eax
15 subq $24, %rsp
16 movq __libc_errno@gottpoff(%rip), %rbx
17 movq %rsp, %rdi
18 movq $0, 8(%rsp)
19 movq %rax, (%rsp)
20 movq %rdi, %rsi
21 movl %fs:(%rbx), %ebp
22 call __GI___nanosleep
23 testl %eax, %eax
24 js .L6
25 movl %ebp, %fs:(%rbx)
26 addq $24, %rsp
27 xorl %eax, %eax
28 popq %rbx
29 popq %rbp
30 ret
31 .p2align 4,,10
32 .p2align 3
33 .L6:
34 movl (%rsp), %eax
35 addq $24, %rsp
36 popq %rbx
37 popq %rbp
38 ret
39 .size __sleep, .-__sleep
40 .weak sleep
41 .set sleep,__sleep