Some broken software wants to deal with ld.so.cache.
[nyanglibc.git] / nptl / pthread_cond_destroy.s
blobf5ac228b836ac0ff0ada9964383748c1cef4c0ba
1 .text
2 .section .rodata.str1.8,"aMS",@progbits,1
3 .align 8
4 .LC0:
5 .string "The futex facility returned an unexpected error code.\n"
6 .text
7 .p2align 4,,15
8 .globl __pthread_cond_destroy
9 .hidden __pthread_cond_destroy
10 .type __pthread_cond_destroy, @function
11 __pthread_cond_destroy:
12 movl 36(%rdi), %eax
13 leaq 36(%rdi), %r8
14 .L2:
15 movl %eax, %ecx
16 movl %eax, %edx
17 orl $4, %ecx
18 lock cmpxchgl %ecx, (%r8)
19 jne .L2
20 movl %edx, %eax
21 shrl $3, %eax
22 testl %eax, %eax
23 je .L14
24 pushq %rbx
25 movl $202, %r9d
26 movl $1, %ebx
27 jmp .L6
28 .p2align 4,,10
29 .p2align 3
30 .L4:
31 movl (%r8), %edx
32 movl %edx, %eax
33 shrl $3, %eax
34 testl %eax, %eax
35 je .L18
36 .L6:
37 xorl %r10d, %r10d
38 movl $128, %esi
39 movq %r8, %rdi
40 movl %r9d, %eax
41 #APP
42 # 146 "../sysdeps/nptl/futex-internal.h" 1
43 syscall
45 # 0 "" 2
46 #NO_APP
47 cmpq $-4096, %rax
48 jbe .L4
49 leal 11(%rax), %ecx
50 cmpl $11, %ecx
51 ja .L5
52 movq %rbx, %rax
53 salq %cl, %rax
54 testl $2177, %eax
55 jne .L4
56 .L5:
57 leaq .LC0(%rip), %rdi
58 call __libc_fatal
59 .p2align 4,,10
60 .p2align 3
61 .L18:
62 xorl %eax, %eax
63 popq %rbx
64 ret
65 .L14:
66 xorl %eax, %eax
67 ret
68 .size __pthread_cond_destroy, .-__pthread_cond_destroy
69 .weak pthread_cond_destroy
70 .set pthread_cond_destroy,__pthread_cond_destroy
71 .hidden __libc_fatal