clarify the purpose of this project
[nyanglibc.git] / grp / setgroups.shared.s
blobd79563e55945c439559fadafc301e46da97ef582
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 __GI_setgroups
9 .hidden __GI_setgroups
10 .type __GI_setgroups, @function
11 __GI_setgroups:
12 movl __libc_pthread_functions_init(%rip), %eax
13 testl %eax, %eax
14 jne .L11
15 movl $116, %eax
16 #APP
17 # 33 "../sysdeps/unix/sysv/linux/setgroups.c" 1
18 syscall
20 # 0 "" 2
21 #NO_APP
22 cmpq $-4096, %rax
23 ja .L12
24 rep ret
25 .p2align 4,,10
26 .p2align 3
27 .L11:
28 subq $56, %rsp
29 movq 224+__libc_pthread_functions(%rip), %rax
30 movq %rdi, 8(%rsp)
31 movl $116, (%rsp)
32 movq %rsp, %rdi
33 movq %rsi, 16(%rsp)
34 #APP
35 # 33 "../sysdeps/unix/sysv/linux/setgroups.c" 1
36 ror $2*8+1, %rax
37 xor %fs:48, %rax
38 # 0 "" 2
39 #NO_APP
40 call *%rax
41 addq $56, %rsp
42 ret
43 .p2align 4,,10
44 .p2align 3
45 .L12:
46 movq __libc_errno@gottpoff(%rip), %rdx
47 negl %eax
48 movl %eax, %fs:(%rdx)
49 movl $-1, %eax
50 ret
51 .size __GI_setgroups, .-__GI_setgroups
52 .globl setgroups
53 .set setgroups,__GI_setgroups
54 .hidden __libc_pthread_functions
55 .hidden __libc_pthread_functions_init