clarify the purpose of this project
[nyanglibc.git] / signal / sigaction.shared.s
blobba71f05634c5b146041e65e31e7a6d0f785ecda2
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 nop
7 .align 16
8 .LSTART_restore_rt:
9 .type __restore_rt,@function
10 __restore_rt:
11 movq $15, %rax
12 syscall
13 .LEND_restore_rt:
14 .section .eh_frame,"a",@progbits
15 .LSTARTFRAME_restore_rt:
16 .long .LENDCIE_restore_rt-.LSTARTCIE_restore_rt
17 .LSTARTCIE_restore_rt:
18 .long 0
19 .byte 1
20 .string "zRS"
21 .uleb128 1
22 .sleb128 -8
23 .uleb128 16
24 .uleb128 .LENDAUGMNT_restore_rt-.LSTARTAUGMNT_restore_rt
25 .LSTARTAUGMNT_restore_rt:
26 .byte 0x1b
27 .LENDAUGMNT_restore_rt:
28 .align 8
29 .LENDCIE_restore_rt:
30 .long .LENDFDE_restore_rt-.LSTARTFDE_restore_rt
31 .LSTARTFDE_restore_rt:
32 .long .LSTARTFDE_restore_rt-.LSTARTFRAME_restore_rt
33 .long (.LSTART_restore_rt-1)-.
34 .long .LEND_restore_rt-(.LSTART_restore_rt-1)
35 .uleb128 0
36 .byte 0x0f
37 .uleb128 2f-1f
38 1: .byte 0x77
39 .sleb128 160
40 .byte 0x06
41 2: .byte 0x10
42 .uleb128 8
43 .uleb128 2f-1f
44 1: .byte 0x77
45 .sleb128 40
46 2: .byte 0x10
47 .uleb128 9
48 .uleb128 2f-1f
49 1: .byte 0x77
50 .sleb128 48
51 2: .byte 0x10
52 .uleb128 10
53 .uleb128 2f-1f
54 1: .byte 0x77
55 .sleb128 56
56 2: .byte 0x10
57 .uleb128 11
58 .uleb128 2f-1f
59 1: .byte 0x77
60 .sleb128 64
61 2: .byte 0x10
62 .uleb128 12
63 .uleb128 2f-1f
64 1: .byte 0x77
65 .sleb128 72
66 2: .byte 0x10
67 .uleb128 13
68 .uleb128 2f-1f
69 1: .byte 0x77
70 .sleb128 80
71 2: .byte 0x10
72 .uleb128 14
73 .uleb128 2f-1f
74 1: .byte 0x77
75 .sleb128 88
76 2: .byte 0x10
77 .uleb128 15
78 .uleb128 2f-1f
79 1: .byte 0x77
80 .sleb128 96
81 2: .byte 0x10
82 .uleb128 5
83 .uleb128 2f-1f
84 1: .byte 0x77
85 .sleb128 104
86 2: .byte 0x10
87 .uleb128 4
88 .uleb128 2f-1f
89 1: .byte 0x77
90 .sleb128 112
91 2: .byte 0x10
92 .uleb128 6
93 .uleb128 2f-1f
94 1: .byte 0x77
95 .sleb128 120
96 2: .byte 0x10
97 .uleb128 3
98 .uleb128 2f-1f
99 1: .byte 0x77
100 .sleb128 128
101 2: .byte 0x10
102 .uleb128 1
103 .uleb128 2f-1f
104 1: .byte 0x77
105 .sleb128 136
106 2: .byte 0x10
107 .uleb128 0
108 .uleb128 2f-1f
109 1: .byte 0x77
110 .sleb128 144
111 2: .byte 0x10
112 .uleb128 2
113 .uleb128 2f-1f
114 1: .byte 0x77
115 .sleb128 152
116 2: .byte 0x10
117 .uleb128 7
118 .uleb128 2f-1f
119 1: .byte 0x77
120 .sleb128 160
121 2: .byte 0x10
122 .uleb128 16
123 .uleb128 2f-1f
124 1: .byte 0x77
125 .sleb128 168
126 2: .align 8
127 .LENDFDE_restore_rt:
128 .previous
130 #NO_APP
131 .p2align 4,,15
132 .globl __GI___libc_sigaction
133 .hidden __GI___libc_sigaction
134 .type __GI___libc_sigaction, @function
135 __GI___libc_sigaction:
136 subq $208, %rsp
137 testq %rsi, %rsi
138 movq %rdx, %r8
139 je .L2
140 movdqu 8(%rsi), %xmm0
141 leaq -120(%rsp), %rcx
142 movq (%rsi), %rax
143 movups %xmm0, -96(%rsp)
144 movdqu 24(%rsi), %xmm0
145 movq %rax, -120(%rsp)
146 movl 136(%rsi), %eax
147 movups %xmm0, 40(%rcx)
148 orl $67108864, %eax
149 testq %rdx, %rdx
150 cltq
151 movdqu 40(%rsi), %xmm0
152 movq %rax, -112(%rsp)
153 leaq __restore_rt(%rip), %rax
154 movups %xmm0, 56(%rcx)
155 movq %rax, -104(%rsp)
156 movdqu 56(%rsi), %xmm0
157 movups %xmm0, 72(%rcx)
158 movdqu 72(%rsi), %xmm0
159 movups %xmm0, 88(%rcx)
160 movdqu 88(%rsi), %xmm0
161 movups %xmm0, 104(%rcx)
162 movdqu 104(%rsi), %xmm0
163 movups %xmm0, 120(%rcx)
164 movdqu 120(%rsi), %xmm0
165 movups %xmm0, 136(%rcx)
166 je .L14
167 leaq 40(%rsp), %rdx
168 .L8:
169 movq %rcx, %rsi
170 .L7:
171 movl $13, %ecx
172 movl $8, %r10d
173 movl %ecx, %eax
174 #APP
175 # 58 "../sysdeps/unix/sysv/linux/sigaction.c" 1
176 syscall
178 # 0 "" 2
179 #NO_APP
180 cmpq $-4096, %rax
181 movq %rax, %rdx
182 ja .L15
183 testq %r8, %r8
184 je .L1
185 testl %eax, %eax
186 js .L1
187 movdqu 64(%rsp), %xmm0
188 movq 40(%rsp), %rdx
189 movups %xmm0, 8(%r8)
190 movdqu 80(%rsp), %xmm0
191 movq %rdx, (%r8)
192 movq 48(%rsp), %rdx
193 movups %xmm0, 24(%r8)
194 movdqu 96(%rsp), %xmm0
195 movl %edx, 136(%r8)
196 movq 56(%rsp), %rdx
197 movups %xmm0, 40(%r8)
198 movdqu 112(%rsp), %xmm0
199 movq %rdx, 144(%r8)
200 movups %xmm0, 56(%r8)
201 movdqu 128(%rsp), %xmm0
202 movups %xmm0, 72(%r8)
203 movdqu 144(%rsp), %xmm0
204 movups %xmm0, 88(%r8)
205 movdqu 160(%rsp), %xmm0
206 movups %xmm0, 104(%r8)
207 movdqu 176(%rsp), %xmm0
208 movups %xmm0, 120(%r8)
209 .L1:
210 addq $208, %rsp
212 .p2align 4,,10
213 .p2align 3
214 .L2:
215 testq %rdx, %rdx
216 jne .L6
217 xorl %edx, %edx
218 xorl %esi, %esi
219 jmp .L7
220 .p2align 4,,10
221 .p2align 3
222 .L6:
223 leaq 40(%rsp), %rdx
224 xorl %esi, %esi
225 jmp .L7
226 .p2align 4,,10
227 .p2align 3
228 .L15:
229 movq __libc_errno@gottpoff(%rip), %rax
230 negl %edx
231 movl %edx, %fs:(%rax)
232 movl $-1, %eax
233 addq $208, %rsp
235 .L14:
236 xorl %edx, %edx
237 jmp .L8
238 .size __GI___libc_sigaction, .-__GI___libc_sigaction
239 .globl __libc_sigaction
240 .set __libc_sigaction,__GI___libc_sigaction
241 .p2align 4,,15
242 .globl __GI___sigaction
243 .hidden __GI___sigaction
244 .type __GI___sigaction, @function
245 __GI___sigaction:
246 leal -1(%rdi), %eax
247 cmpl $63, %eax
248 ja .L17
249 leal -32(%rdi), %eax
250 cmpl $1, %eax
251 jbe .L17
252 jmp __GI___libc_sigaction
253 .p2align 4,,10
254 .p2align 3
255 .L17:
256 movq __libc_errno@gottpoff(%rip), %rax
257 movl $22, %fs:(%rax)
258 movl $-1, %eax
260 .size __GI___sigaction, .-__GI___sigaction
261 .weak __sigaction
262 .set __sigaction,__GI___sigaction
263 .weak sigaction
264 .set sigaction,__sigaction