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