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