clarify the purpose of this project
[nyanglibc.git] / nptl / old_pthread_cond_timedwait.shared.s
blob4bfbc5e67f0549586e214094c5134169de3d4ddc
1 .text
2 #APP
3 .symver __pthread_cond_timedwait_2_0,pthread_cond_timedwait@GLIBC_2.2.5
4 #NO_APP
5 .p2align 4,,15
6 .globl __pthread_cond_timedwait_2_0
7 .type __pthread_cond_timedwait_2_0, @function
8 __pthread_cond_timedwait_2_0:
9 pushq %r12
10 pushq %rbp
11 movq %rsi, %r12
12 pushq %rbx
13 subq $16, %rsp
14 movq (%rdi), %rbx
15 testq %rbx, %rbx
16 je .L7
17 .L2:
18 addq $16, %rsp
19 movq %r12, %rsi
20 movq %rbx, %rdi
21 popq %rbx
22 popq %rbp
23 popq %r12
24 jmp __pthread_cond_timedwait@PLT
25 .p2align 4,,10
26 .p2align 3
27 .L7:
28 movq %rdi, %rbp
29 movl $1, %esi
30 movl $48, %edi
31 movq %rdx, 8(%rsp)
32 call calloc@PLT
33 testq %rax, %rax
34 movq %rax, %rdi
35 je .L3
36 movq %rbx, %rax
37 lock cmpxchgq %rdi, 0(%rbp)
38 movq 8(%rsp), %rdx
39 jne .L4
40 movq 0(%rbp), %rbx
41 jmp .L2
42 .p2align 4,,10
43 .p2align 3
44 .L3:
45 addq $16, %rsp
46 movl $12, %eax
47 popq %rbx
48 popq %rbp
49 popq %r12
50 ret
51 .L4:
52 movq %rdx, 8(%rsp)
53 call free@PLT
54 movq 0(%rbp), %rbx
55 movq 8(%rsp), %rdx
56 jmp .L2
57 .size __pthread_cond_timedwait_2_0, .-__pthread_cond_timedwait_2_0