clarify the purpose of this project
[nyanglibc.git] / time / adjtime.shared.s
blob16781ff2968aaea44fa2bf5961c73787a671b3c3
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 __adjtime
9 .type __adjtime, @function
10 __adjtime:
11 pushq %rbx
12 subq $208, %rsp
13 testq %rdi, %rdi
14 je .L2
15 movq 8(%rdi), %r8
16 movabsq $4835703278458516699, %rdx
17 movq (%rdi), %rcx
18 movq %r8, %rax
19 imulq %rdx
20 movq %r8, %rax
21 sarq $63, %rax
22 sarq $18, %rdx
23 subq %rax, %rdx
24 addq %rdx, %rcx
25 imulq $1000000, %rdx, %rdx
26 leaq 2145(%rcx), %rax
27 subq %rdx, %r8
28 cmpq $4290, %rax
29 ja .L12
30 imulq $1000000, %rcx, %rcx
31 movl $32769, (%rsp)
32 addq %r8, %rcx
33 movq %rcx, 8(%rsp)
34 .L5:
35 xorl %edi, %edi
36 movq %rsi, %rbx
37 movq %rsp, %rsi
38 call __GI___clock_adjtime
39 testl %eax, %eax
40 movl $-1, %r8d
41 js .L1
42 xorl %r8d, %r8d
43 testq %rbx, %rbx
44 je .L1
45 movq 8(%rsp), %rcx
46 movabsq $4835703278458516699, %rdi
47 movq %rcx, %rax
48 imulq %rdi
49 movq %rcx, %rax
50 sarq $63, %rax
51 sarq $18, %rdx
52 movq %rdx, %rsi
53 subq %rax, %rsi
54 testq %rcx, %rcx
55 js .L13
56 imulq $1000000, %rsi, %rax
57 movq %rsi, (%rbx)
58 subq %rax, %rcx
59 movq %rcx, 8(%rbx)
60 .L1:
61 addq $208, %rsp
62 movl %r8d, %eax
63 popq %rbx
64 ret
65 .p2align 4,,10
66 .p2align 3
67 .L13:
68 negq %rcx
69 movq %rsi, (%rbx)
70 movq %rcx, %rax
71 mulq %rdi
72 movl %r8d, %eax
73 movq %rdx, %rdi
74 shrq $18, %rdi
75 imulq $1000000, %rdi, %rdi
76 subq %rcx, %rdi
77 movq %rdi, 8(%rbx)
78 addq $208, %rsp
79 popq %rbx
80 ret
81 .p2align 4,,10
82 .p2align 3
83 .L2:
84 movl $40961, (%rsp)
85 jmp .L5
86 .p2align 4,,10
87 .p2align 3
88 .L12:
89 movq __libc_errno@gottpoff(%rip), %rax
90 movl $-1, %r8d
91 movl $22, %fs:(%rax)
92 jmp .L1
93 .size __adjtime, .-__adjtime
94 .weak adjtime
95 .set adjtime,__adjtime