clarify the purpose of this project
[nyanglibc.git] / sysvipc / semctl.s
blob546c7455bb13914ad067e38232980b11a8318483
1 .text
2 .p2align 4,,15
3 .globl __semctl
4 .type __semctl, @function
5 __semctl:
6 cmpl $20, %edx
7 movq %rcx, -24(%rsp)
8 ja .L2
9 movl $1, %eax
10 movl %edx, %ecx
11 salq %cl, %rax
12 testl $55297, %eax
13 jne .L9
14 testl $2039822, %eax
15 je .L2
16 leaq 8(%rsp), %rax
17 movl $24, -72(%rsp)
18 movq -24(%rsp), %r10
19 movq %rax, -64(%rsp)
20 leaq -48(%rsp), %rax
21 movq %rax, -56(%rsp)
22 jmp .L3
23 .p2align 4,,10
24 .p2align 3
25 .L9:
26 xorl %r10d, %r10d
27 .L3:
28 movl $66, %eax
29 #APP
30 # 126 "../sysdeps/unix/sysv/linux/semctl.c" 1
31 syscall
33 # 0 "" 2
34 #NO_APP
35 cmpq $-4096, %rax
36 ja .L14
37 rep ret
38 .p2align 4,,10
39 .p2align 3
40 .L14:
41 movq __libc_errno@gottpoff(%rip), %rdx
42 negl %eax
43 movl %eax, %fs:(%rdx)
44 movl $-1, %eax
45 ret
46 .p2align 4,,10
47 .p2align 3
48 .L2:
49 movq __libc_errno@gottpoff(%rip), %rax
50 movl $22, %fs:(%rax)
51 movl $-1, %eax
52 ret
53 .size __semctl, .-__semctl
54 .weak semctl
55 .set semctl,__semctl