clarify the purpose of this project
[nyanglibc.git] / nptl / lowlevellock.shared.s
blob95a6ec0af71eff87cd048b443845b674e15c9963
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 __lll_lock_wait_private
9 .hidden __lll_lock_wait_private
10 .type __lll_lock_wait_private, @function
11 __lll_lock_wait_private:
12 movl (%rdi), %eax
13 movq %rdi, %r8
14 cmpl $2, %eax
15 jne .L2
16 .L3:
17 xorl %r10d, %r10d
18 movl $2, %edx
19 movl $128, %esi
20 movq %r8, %rdi
21 movl $202, %eax
22 #APP
23 # 146 "../sysdeps/nptl/futex-internal.h" 1
24 syscall
26 # 0 "" 2
27 #NO_APP
28 cmpq $-4096, %rax
29 ja .L8
30 .L2:
31 movl $2, %eax
32 xchgl (%r8), %eax
33 testl %eax, %eax
34 jne .L3
35 ret
36 .p2align 4,,10
37 .p2align 3
38 .L8:
39 leal 11(%rax), %ecx
40 cmpl $11, %ecx
41 ja .L4
42 movl $1, %eax
43 salq %cl, %rax
44 testl $2177, %eax
45 jne .L2
46 .L4:
47 leaq .LC0(%rip), %rdi
48 subq $8, %rsp
49 call __libc_fatal@PLT
50 .size __lll_lock_wait_private, .-__lll_lock_wait_private
51 .p2align 4,,15
52 .globl __lll_lock_wait
53 .hidden __lll_lock_wait
54 .type __lll_lock_wait, @function
55 __lll_lock_wait:
56 movl (%rdi), %eax
57 movq %rdi, %r8
58 movl %esi, %r9d
59 cmpl $2, %eax
60 jne .L10
61 .L11:
62 movl %r9d, %esi
63 xorl %r10d, %r10d
64 movl $2, %edx
65 xorb $-128, %sil
66 movq %r8, %rdi
67 movl $202, %eax
68 #APP
69 # 146 "../sysdeps/nptl/futex-internal.h" 1
70 syscall
72 # 0 "" 2
73 #NO_APP
74 cmpq $-4096, %rax
75 ja .L15
76 .L10:
77 movl $2, %eax
78 xchgl (%r8), %eax
79 testl %eax, %eax
80 jne .L11
81 ret
82 .p2align 4,,10
83 .p2align 3
84 .L15:
85 leal 11(%rax), %ecx
86 cmpl $11, %ecx
87 ja .L12
88 movl $1, %eax
89 salq %cl, %rax
90 testl $2177, %eax
91 jne .L10
92 .L12:
93 leaq .LC0(%rip), %rdi
94 subq $8, %rsp
95 call __libc_fatal@PLT
96 .size __lll_lock_wait, .-__lll_lock_wait