clarify the purpose of this project
[nyanglibc.git] / time / time.shared.s
blob7794ffa490582a4472559f0070704b791b0fd4a8
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .type time_syscall, @function
9 time_syscall:
10 movl $201, %eax
11 #APP
12 # 32 "../sysdeps/unix/sysv/linux/time.c" 1
13 syscall
15 # 0 "" 2
16 #NO_APP
17 cmpq $-4096, %rax
18 ja .L4
19 rep ret
20 .p2align 4,,10
21 .p2align 3
22 .L4:
23 movq __libc_errno@gottpoff(%rip), %rdx
24 negl %eax
25 movl %eax, %fs:(%rdx)
26 movq $-1, %rax
27 ret
28 .size time_syscall, .-time_syscall
29 .section .rodata.str1.1,"aMS",@progbits,1
30 .LC0:
31 .string "LINUX_2.6"
32 .LC1:
33 .string "__vdso_time"
34 .text
35 .p2align 4,,15
36 .type time_ifunc, @function
37 time_ifunc:
38 movq _rtld_global_ro@GOTPCREL(%rip), %rax
39 movq 680(%rax), %rsi
40 testq %rsi, %rsi
41 je .L24
42 subq $88, %rsp
43 pxor %xmm0, %xmm0
44 leaq 16(%rsp), %rdx
45 leaq .LC0(%rip), %rdi
46 movabsq $4356732406, %rcx
47 movq %rcx, 56(%rsp)
48 movq $0, 32(%rsp)
49 leaq 928(%rsi), %rcx
50 movaps %xmm0, 16(%rsp)
51 movq %rdi, 48(%rsp)
52 movq %rdx, 8(%rsp)
53 leaq 8(%rsp), %rdx
54 xorl %r9d, %r9d
55 leaq .LC1(%rip), %rdi
56 movb $32, 20(%rsp)
57 movq $0, 64(%rsp)
58 pushq $0
59 pushq $0
60 leaq 64(%rsp), %r8
61 call *752(%rax)
62 movq 24(%rsp), %rdx
63 popq %rcx
64 popq %rsi
65 testq %rdx, %rdx
66 je .L8
67 cmpw $-15, 6(%rdx)
68 je .L10
69 testq %rax, %rax
70 je .L10
71 movq (%rax), %rax
72 .L9:
73 addq 8(%rdx), %rax
74 leaq time_syscall(%rip), %rdx
75 cmove %rdx, %rax
76 .L5:
77 addq $88, %rsp
78 ret
79 .p2align 4,,10
80 .p2align 3
81 .L10:
82 xorl %eax, %eax
83 jmp .L9
84 .p2align 4,,10
85 .p2align 3
86 .L8:
87 leaq time_syscall(%rip), %rax
88 jmp .L5
89 .L24:
90 leaq time_syscall(%rip), %rax
91 ret
92 .size time_ifunc, .-time_ifunc
93 .globl time
94 .type time, @gnu_indirect_function
95 .set time,time_ifunc