clarify the purpose of this project
[nyanglibc.git] / posix / group_member.shared.s
blob5a365001d62467d7aa5413453f1a4b481614b656
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 __group_member
9 .hidden __group_member
10 .type __group_member, @function
11 __group_member:
12 pushq %rbp
13 movq %rsp, %rbp
14 pushq %r13
15 pushq %r12
16 pushq %rbx
17 movl %edi, %r13d
18 movl $65536, %ebx
19 subq $8, %rsp
20 jmp .L2
21 .p2align 4,,10
22 .p2align 3
23 .L6:
24 movl %edx, %ebx
25 .L2:
26 movslq %ebx, %rax
27 movl %ebx, %edi
28 leaq 30(,%rax,4), %rax
29 andq $-16, %rax
30 subq %rax, %rsp
31 leaq 15(%rsp), %r12
32 andq $-16, %r12
33 movq %r12, %rsi
34 call __getgroups
35 cmpl %eax, %ebx
36 leal (%rbx,%rbx), %edx
37 je .L6
38 cltq
39 jmp .L3
40 .p2align 4,,10
41 .p2align 3
42 .L5:
43 subq $1, %rax
44 cmpl %r13d, (%r12,%rax,4)
45 je .L7
46 .L3:
47 testl %eax, %eax
48 jg .L5
49 leaq -24(%rbp), %rsp
50 xorl %eax, %eax
51 popq %rbx
52 popq %r12
53 popq %r13
54 popq %rbp
55 ret
56 .p2align 4,,10
57 .p2align 3
58 .L7:
59 leaq -24(%rbp), %rsp
60 movl $1, %eax
61 popq %rbx
62 popq %r12
63 popq %r13
64 popq %rbp
65 ret
66 .size __group_member, .-__group_member
67 .weak group_member
68 .set group_member,__group_member
69 .hidden __getgroups