clarify the purpose of this project
[nyanglibc.git] / stdio-common / cuserid.shared.s
blobb26173d7e4bdc9975fc6b1b72007f45badc9b7e0
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 cuserid
9 .type cuserid, @function
10 cuserid:
11 .LFB64:
12 .cfi_startproc
13 pushq %rbx
14 .cfi_def_cfa_offset 16
15 .cfi_offset 3, -16
16 movq %rdi, %rbx
17 subq $1088, %rsp
18 .cfi_def_cfa_offset 1104
19 call __geteuid
20 leaq 64(%rsp), %rdx
21 leaq 16(%rsp), %rsi
22 leaq 8(%rsp), %r8
23 movl $1024, %ecx
24 movl %eax, %edi
25 call __getpwuid_r
26 testl %eax, %eax
27 jne .L2
28 movq 8(%rsp), %rax
29 testq %rax, %rax
30 je .L2
31 leaq name.9962(%rip), %rdx
32 testq %rbx, %rbx
33 cmove %rdx, %rbx
34 movl $8, %edx
35 movb $0, 8(%rbx)
36 movq (%rax), %rsi
37 movq %rbx, %rdi
38 call __GI_strncpy
39 .L1:
40 addq $1088, %rsp
41 .cfi_remember_state
42 .cfi_def_cfa_offset 16
43 popq %rbx
44 .cfi_def_cfa_offset 8
45 ret
46 .p2align 4,,10
47 .p2align 3
48 .L2:
49 .cfi_restore_state
50 xorl %eax, %eax
51 testq %rbx, %rbx
52 je .L1
53 movb $0, (%rbx)
54 addq $1088, %rsp
55 .cfi_def_cfa_offset 16
56 movq %rbx, %rax
57 popq %rbx
58 .cfi_def_cfa_offset 8
59 ret
60 .cfi_endproc
61 .LFE64:
62 .size cuserid, .-cuserid
63 .local name.9962
64 .comm name.9962,9,8
65 .hidden __getpwuid_r
66 .hidden __geteuid