clarify the purpose of this project
[nyanglibc.git] / nss / getnssent.s
blob2be0c3a5b2e332cce01e9dd210a5f658fe56ab3c
1 .text
2 .p2align 4,,15
3 .globl __nss_getent
4 .hidden __nss_getent
5 .type __nss_getent, @function
6 __nss_getent:
7 pushq %r15
8 pushq %r14
9 movq %r8, %r15
10 pushq %r13
11 pushq %r12
12 movq %rsi, %r13
13 pushq %rbp
14 pushq %rbx
15 movq %rdi, %r12
16 movq %rdx, %rbp
17 movq %r9, %rbx
18 subq $40, %rsp
19 movq (%rdx), %rsi
20 testq %rsi, %rsi
21 je .L16
22 movq (%r8), %rdx
23 .L3:
24 leaq 24(%rsp), %r14
25 jmp .L9
26 .p2align 4,,10
27 .p2align 3
28 .L5:
29 movq (%r15), %rdx
30 movq %rax, 0(%rbp)
31 .L9:
32 movq %rbx, %r8
33 movq %r14, %rcx
34 movq %r13, %rdi
35 call *%r12
36 cmpl $34, %eax
37 jne .L6
38 testq %rbx, %rbx
39 je .L7
40 cmpl $-1, (%rbx)
41 jne .L6
42 .L7:
43 movq (%r15), %rax
44 movq 0(%rbp), %rdi
45 leaq (%rax,%rax), %rsi
46 movq %rsi, (%r15)
47 call realloc@PLT
48 testq %rax, %rax
49 movq %rax, %rsi
50 jne .L5
51 movq __libc_errno@gottpoff(%rip), %rbx
52 movq 0(%rbp), %rdi
53 movl %fs:(%rbx), %r12d
54 call free@PLT
55 movl %r12d, %fs:(%rbx)
56 movq $0, 0(%rbp)
57 .L8:
58 xorl %eax, %eax
59 .L17:
60 addq $40, %rsp
61 popq %rbx
62 popq %rbp
63 popq %r12
64 popq %r13
65 popq %r14
66 popq %r15
67 ret
68 .p2align 4,,10
69 .p2align 3
70 .L6:
71 cmpq $0, 0(%rbp)
72 je .L8
73 movq 24(%rsp), %rax
74 addq $40, %rsp
75 popq %rbx
76 popq %rbp
77 popq %r12
78 popq %r13
79 popq %r14
80 popq %r15
81 ret
82 .p2align 4,,10
83 .p2align 3
84 .L16:
85 movq %rcx, (%r15)
86 movq %rcx, %rdi
87 movq %rcx, 8(%rsp)
88 call malloc@PLT
89 testq %rax, %rax
90 movq %rax, %rsi
91 movq %rax, 0(%rbp)
92 movq 8(%rsp), %rdx
93 jne .L3
94 xorl %eax, %eax
95 jmp .L17
96 .size __nss_getent, .-__nss_getent