clarify the purpose of this project
[nyanglibc.git] / signal / sigqueue.shared.s
blobbbc041409195e451519a03bc93c5c7165f2b8980
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 __sigqueue
9 .type __sigqueue, @function
10 __sigqueue:
11 pushq %r13
12 pushq %r12
13 movl %edi, %r12d
14 pushq %rbp
15 pushq %rbx
16 xorl %eax, %eax
17 movl $15, %ecx
18 movq %rdx, %r13
19 movl %esi, %ebx
20 subq $136, %rsp
21 movq %rsp, %rbp
22 movq $0, 4(%rsp)
23 movq $0, 120(%rsp)
24 leaq 8(%rbp), %rdi
25 rep stosq
26 movl %esi, (%rsp)
27 movl $-1, 8(%rsp)
28 call __GI___getpid
29 movl %eax, 16(%rsp)
30 call __getuid
31 movq %r13, 24(%rsp)
32 movl %eax, 20(%rsp)
33 movq %rbp, %rdx
34 movl %ebx, %esi
35 movl %r12d, %edi
36 movl $129, %eax
37 #APP
38 # 40 "../sysdeps/unix/sysv/linux/sigqueue.c" 1
39 syscall
41 # 0 "" 2
42 #NO_APP
43 cmpq $-4096, %rax
44 ja .L6
45 addq $136, %rsp
46 popq %rbx
47 popq %rbp
48 popq %r12
49 popq %r13
50 ret
51 .p2align 4,,10
52 .p2align 3
53 .L6:
54 movq __libc_errno@gottpoff(%rip), %rdx
55 negl %eax
56 movl %eax, %fs:(%rdx)
57 addq $136, %rsp
58 movl $-1, %eax
59 popq %rbx
60 popq %rbp
61 popq %r12
62 popq %r13
63 ret
64 .size __sigqueue, .-__sigqueue
65 .weak sigqueue
66 .set sigqueue,__sigqueue
67 .hidden __getuid