clarify the purpose of this project
[nyanglibc.git] / signal / raise.s
blob31a0b5a7d0a7945b3adad34d8057b836428b9290
1 .text
2 .p2align 4,,15
3 .globl raise
4 .hidden raise
5 .type raise, @function
6 raise:
7 pushq %rbx
8 movq $-1, %r8
9 movabsq $-6442450945, %rax
10 movl %edi, %ebx
11 movl $8, %r10d
12 xorl %edi, %edi
13 subq $136, %rsp
14 leaq -120(%rsp), %r9
15 movq %rax, 8(%rsp)
16 movq %r8, 16(%rsp)
17 movq %r8, 24(%rsp)
18 movq %r8, 32(%rsp)
19 leaq 8(%rsp), %rsi
20 movq %r8, 40(%rsp)
21 movq %r8, 48(%rsp)
22 movq %r9, %rdx
23 movq %r8, 56(%rsp)
24 movq %r8, 64(%rsp)
25 movl $14, %eax
26 movq %r8, 72(%rsp)
27 movq %r8, 80(%rsp)
28 movq %r8, 88(%rsp)
29 movq %r8, 96(%rsp)
30 movq %r8, 104(%rsp)
31 movq %r8, 112(%rsp)
32 movq %r8, 120(%rsp)
33 movq %r8, 128(%rsp)
34 #APP
35 # 81 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
36 syscall
38 # 0 "" 2
39 #NO_APP
40 movl $39, %ecx
41 movl %ecx, %eax
42 #APP
43 # 42 "../sysdeps/unix/sysv/linux/raise.c" 1
44 syscall
46 # 0 "" 2
47 #NO_APP
48 movq %rax, %rdi
49 movl $186, %eax
50 #APP
51 # 43 "../sysdeps/unix/sysv/linux/raise.c" 1
52 syscall
54 # 0 "" 2
55 #NO_APP
56 movl %eax, %esi
57 movl %ebx, %edx
58 movl $234, %eax
59 #APP
60 # 45 "../sysdeps/unix/sysv/linux/raise.c" 1
61 syscall
63 # 0 "" 2
64 #NO_APP
65 cmpq $-4096, %rax
66 ja .L2
67 movl %eax, %r8d
68 .L3:
69 movl $8, %r10d
70 xorl %edx, %edx
71 movq %r9, %rsi
72 movl $2, %edi
73 movl $14, %eax
74 #APP
75 # 105 "../sysdeps/unix/sysv/linux/internal-signals.h" 1
76 syscall
78 # 0 "" 2
79 #NO_APP
80 addq $136, %rsp
81 movl %r8d, %eax
82 popq %rbx
83 ret
84 .p2align 4,,10
85 .p2align 3
86 .L2:
87 movq __libc_errno@gottpoff(%rip), %rdx
88 negl %eax
89 movl %eax, %fs:(%rdx)
90 jmp .L3
91 .size raise, .-raise
92 .weak gsignal
93 .set gsignal,raise