clarify the purpose of this project
[nyanglibc.git] / login / updwtmp.s
blob86f15e3ede0b31079946b7b247d52d20d88798ec
1 .text
2 .section .rodata.str1.1,"aMS",@progbits,1
3 .LC0:
4 .string "/var/log/wtmpx"
5 .LC1:
6 .string "/var/run/utmpx"
7 .LC2:
8 .string "/var/run/utmp"
9 .LC3:
10 .string "/var/log/wtmp"
11 .text
12 .p2align 4,,15
13 .globl __updwtmp
14 .hidden __updwtmp
15 .type __updwtmp, @function
16 __updwtmp:
17 pushq %rbp
18 pushq %rbx
19 movq %rdi, %rbx
20 leaq .LC2(%rip), %rdi
21 movq %rsi, %rbp
22 movl $14, %ecx
23 subq $8, %rsp
24 movq %rbx, %rsi
25 repz cmpsb
26 je .L2
27 .L5:
28 leaq .LC3(%rip), %rdi
29 movl $14, %ecx
30 movq %rbx, %rsi
31 repz cmpsb
32 je .L20
33 .L3:
34 leaq .LC1(%rip), %rax
35 movl $15, %ecx
36 movq %rbx, %rsi
37 movq %rax, %rdi
38 repz cmpsb
39 je .L21
40 .L7:
41 leaq .LC0(%rip), %rax
42 movl $15, %ecx
43 movq %rbx, %rsi
44 movq %rax, %rdi
45 repz cmpsb
46 je .L22
47 .L6:
48 addq $8, %rsp
49 movq %rbp, %rsi
50 movq %rbx, %rdi
51 popq %rbx
52 popq %rbp
53 jmp __libc_updwtmp
54 .p2align 4,,10
55 .p2align 3
56 .L21:
57 xorl %esi, %esi
58 movq %rax, %rdi
59 call __access
60 testl %eax, %eax
61 je .L7
62 leaq .LC2(%rip), %rbx
63 jmp .L6
64 .p2align 4,,10
65 .p2align 3
66 .L22:
67 xorl %esi, %esi
68 movq %rax, %rdi
69 call __access
70 testl %eax, %eax
71 leaq .LC3(%rip), %rax
72 cmovne %rax, %rbx
73 jmp .L6
74 .p2align 4,,10
75 .p2align 3
76 .L2:
77 leaq .LC1(%rip), %rdi
78 xorl %esi, %esi
79 call __access
80 testl %eax, %eax
81 jne .L5
82 leaq .LC1(%rip), %rbx
83 jmp .L6
84 .p2align 4,,10
85 .p2align 3
86 .L20:
87 leaq .LC0(%rip), %rdi
88 xorl %esi, %esi
89 call __access
90 testl %eax, %eax
91 jne .L3
92 leaq .LC0(%rip), %rbx
93 jmp .L6
94 .size __updwtmp, .-__updwtmp
95 .weak updwtmp
96 .set updwtmp,__updwtmp
97 .hidden __access
98 .hidden __libc_updwtmp