clarify the purpose of this project
[nyanglibc.git] / time / clock_nanosleep.shared.s
blobe7a32fe6bed3c18bb4ccebb1f83d01544cd45d00
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver __clock_nanosleep,clock_nanosleep@@GLIBC_2.17
7 .symver __clock_nanosleep_2,clock_nanosleep@GLIBC_2.2.5
8 #NO_APP
9 .p2align 4,,15
10 .globl __GI___clock_nanosleep
11 .hidden __GI___clock_nanosleep
12 .type __GI___clock_nanosleep, @function
13 __GI___clock_nanosleep:
14 cmpl $3, %edi
15 je .L6
16 cmpl $2, %edi
17 movl $-6, %eax
18 movq %rcx, %r10
19 cmove %eax, %edi
20 #APP
21 # 43 "../sysdeps/unix/sysv/linux/clock_nanosleep.c" 1
22 movl %fs:24,%eax
23 # 0 "" 2
24 #NO_APP
25 testl %eax, %eax
26 jne .L14
27 movl $230, %eax
28 #APP
29 # 43 "../sysdeps/unix/sysv/linux/clock_nanosleep.c" 1
30 syscall
32 # 0 "" 2
33 #NO_APP
34 negl %eax
35 ret
36 .p2align 4,,10
37 .p2align 3
38 .L6:
39 movl $22, %eax
40 ret
41 .p2align 4,,10
42 .p2align 3
43 .L14:
44 subq $40, %rsp
45 movq %rdx, 16(%rsp)
46 movl %esi, 12(%rsp)
47 movl %edi, (%rsp)
48 movq %rcx, 24(%rsp)
49 call __libc_enable_asynccancel
50 movq 24(%rsp), %r10
51 movl %eax, %r8d
52 movq 16(%rsp), %rdx
53 movl 12(%rsp), %esi
54 movl (%rsp), %edi
55 movl $230, %eax
56 #APP
57 # 43 "../sysdeps/unix/sysv/linux/clock_nanosleep.c" 1
58 syscall
60 # 0 "" 2
61 #NO_APP
62 movl %r8d, %edi
63 movq %rax, (%rsp)
64 call __libc_disable_asynccancel
65 movq (%rsp), %rax
66 addq $40, %rsp
67 negl %eax
68 ret
69 .size __GI___clock_nanosleep, .-__GI___clock_nanosleep
70 .globl __clock_nanosleep
71 .set __clock_nanosleep,__GI___clock_nanosleep
72 .globl __clock_nanosleep_2
73 .set __clock_nanosleep_2,__clock_nanosleep
74 .hidden __libc_disable_asynccancel
75 .hidden __libc_enable_asynccancel