Some broken software wants to deal with ld.so.cache.
[nyanglibc.git] / nptl / pthread_detach.s
blob012f20d8f455dd38e0caf087ee137005909f4e63
1 .text
2 .p2align 4,,15
3 .globl __pthread_detach
4 .type __pthread_detach, @function
5 __pthread_detach:
6 movl 720(%rdi), %eax
7 testl %eax, %eax
8 js .L4
9 xorl %eax, %eax
10 lock cmpxchgq %rdi, 1576(%rdi)
11 jne .L14
12 movl 776(%rdi), %eax
13 andl $16, %eax
14 jne .L15
15 rep ret
16 .p2align 4,,10
17 .p2align 3
18 .L15:
19 subq $8, %rsp
20 call __free_tcb@PLT
21 xorl %eax, %eax
22 addq $8, %rsp
23 ret
24 .p2align 4,,10
25 .p2align 3
26 .L4:
27 movl $3, %eax
28 ret
29 .L14:
30 cmpq %rdi, 1576(%rdi)
31 movl $22, %edx
32 movl $0, %eax
33 cmove %edx, %eax
34 ret
35 .size __pthread_detach, .-__pthread_detach
36 .weak pthread_detach
37 .set pthread_detach,__pthread_detach