Some broken software wants to deal with ld.so.cache.
[nyanglibc.git] / nptl / pthread_sigmask.s
blob0ed88cc299276a88752078a016522adf2fc6e8cd
1 .text
2 .p2align 4,,15
3 .globl __pthread_sigmask
4 .hidden __pthread_sigmask
5 .type __pthread_sigmask, @function
6 __pthread_sigmask:
7 movq %rsi, %rax
8 subq $16, %rsp
9 xorl %esi, %esi
10 testq %rax, %rax
11 je .L2
12 movq (%rax), %rcx
13 movabsq $6442450944, %rsi
14 testq %rsi, %rcx
15 jne .L3
16 movq %rax, %rsi
17 .L2:
18 movl $8, %r10d
19 movl $14, %eax
20 #APP
21 # 41 "pthread_sigmask.c" 1
22 syscall
24 # 0 "" 2
25 #NO_APP
26 movl %eax, %edx
27 negl %edx
28 cmpl $-4096, %eax
29 movl $0, %eax
30 cmova %edx, %eax
31 addq $16, %rsp
32 ret
33 .p2align 4,,10
34 .p2align 3
35 .L3:
36 movdqu (%rax), %xmm0
37 leaq -120(%rsp), %rsi
38 movaps %xmm0, -120(%rsp)
39 movdqu 16(%rax), %xmm0
40 movaps %xmm0, -104(%rsp)
41 movdqu 32(%rax), %xmm0
42 movaps %xmm0, -88(%rsp)
43 movdqu 48(%rax), %xmm0
44 movaps %xmm0, -72(%rsp)
45 movdqu 64(%rax), %xmm0
46 movaps %xmm0, -56(%rsp)
47 movdqu 80(%rax), %xmm0
48 movaps %xmm0, -40(%rsp)
49 movdqu 96(%rax), %xmm0
50 movaps %xmm0, -24(%rsp)
51 movdqu 112(%rax), %xmm0
52 movabsq $-6442450945, %rax
53 andq %rax, %rcx
54 movaps %xmm0, -8(%rsp)
55 movq %rcx, -120(%rsp)
56 jmp .L2
57 .size __pthread_sigmask, .-__pthread_sigmask
58 .weak pthread_sigmask
59 .set pthread_sigmask,__pthread_sigmask