clarify the purpose of this project
[nyanglibc.git] / signal / sigintr.shared.s
blob525adbaa0015b0cce8d272390495a8cbb30cf39a
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 siginterrupt
9 .type siginterrupt, @function
10 siginterrupt:
11 pushq %r12
12 pushq %rbp
13 movl %edi, %ebp
14 pushq %rbx
15 movl %esi, %ebx
16 xorl %esi, %esi
17 subq $160, %rsp
18 movq %rsp, %r12
19 movq %r12, %rdx
20 call __GI___sigaction
21 testl %eax, %eax
22 js .L5
23 leal -1(%rbp), %edi
24 movl $1, %edx
25 movl 136(%rsp), %esi
26 movl %edi, %eax
27 sarl $31, %eax
28 shrl $26, %eax
29 leal (%rdi,%rax), %ecx
30 andl $63, %ecx
31 subl %eax, %ecx
32 leal 62(%rbp), %eax
33 salq %cl, %rdx
34 testl %edi, %edi
35 leaq _sigintr(%rip), %rcx
36 cmovns %edi, %eax
37 sarl $6, %eax
38 testl %ebx, %ebx
39 cltq
40 movq (%rcx,%rax,8), %rdi
41 jne .L8
42 notq %rdx
43 orl $268435456, %esi
44 andq %rdi, %rdx
45 movl %esi, 136(%rsp)
46 movq %rdx, (%rcx,%rax,8)
47 .L4:
48 xorl %edx, %edx
49 movq %r12, %rsi
50 movl %ebp, %edi
51 call __GI___sigaction
52 sarl $31, %eax
53 .L1:
54 addq $160, %rsp
55 popq %rbx
56 popq %rbp
57 popq %r12
58 ret
59 .p2align 4,,10
60 .p2align 3
61 .L8:
62 orq %rdi, %rdx
63 andl $-268435457, %esi
64 movq %rdx, (%rcx,%rax,8)
65 movl %esi, 136(%rsp)
66 jmp .L4
67 .p2align 4,,10
68 .p2align 3
69 .L5:
70 movl $-1, %eax
71 jmp .L1
72 .size siginterrupt, .-siginterrupt
73 .hidden _sigintr