clarify the purpose of this project
[nyanglibc.git] / nptl / pthread_detach.shared.s
blobd5718d60c2a93751a70d87d67de654f136a94a4b
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
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
38 .hidden __free_tcb