clarify the purpose of this project
[nyanglibc.git] / nptl / pthread_sigqueue.s
blob79ce043724aacd3677cfb9bd6335165d32fa383d
1 .text
2 .p2align 4,,15
3 .globl pthread_sigqueue
4 .type pthread_sigqueue, @function
5 pthread_sigqueue:
6 pushq %r14
7 pushq %r13
8 pushq %r12
9 pushq %rbp
10 pushq %rbx
11 addq $-128, %rsp
12 movl 720(%rdi), %ebx
13 testl %ebx, %ebx
14 jle .L3
15 leal -32(%rsi), %ecx
16 movl $22, %eax
17 cmpl $1, %ecx
18 jbe .L1
19 movq %rsp, %r14
20 movl %esi, %r12d
21 movq %rdx, %rbp
22 call getpid@PLT
23 leaq 8(%r14), %rdi
24 movl %eax, %r13d
25 movl $15, %ecx
26 xorl %eax, %eax
27 movq $0, 4(%rsp)
28 movq $0, 120(%rsp)
29 rep stosq
30 movl %r12d, (%rsp)
31 movl $-1, 8(%rsp)
32 movl %r13d, 16(%rsp)
33 call getuid@PLT
34 movq %rbp, 24(%rsp)
35 movl %eax, 20(%rsp)
36 movq %r14, %r10
37 movl %r12d, %edx
38 movl %ebx, %esi
39 movl %r13d, %edi
40 movl $297, %eax
41 #APP
42 # 64 "../sysdeps/unix/sysv/linux/pthread_sigqueue.c" 1
43 syscall
45 # 0 "" 2
46 #NO_APP
47 movl %eax, %edx
48 negl %edx
49 cmpl $-4096, %eax
50 movl $0, %eax
51 cmova %edx, %eax
52 .L1:
53 subq $-128, %rsp
54 popq %rbx
55 popq %rbp
56 popq %r12
57 popq %r13
58 popq %r14
59 ret
60 .p2align 4,,10
61 .p2align 3
62 .L3:
63 subq $-128, %rsp
64 movl $3, %eax
65 popq %rbx
66 popq %rbp
67 popq %r12
68 popq %r13
69 popq %r14
70 ret
71 .size pthread_sigqueue, .-pthread_sigqueue