clarify the purpose of this project
[nyanglibc.git] / nptl / libc-lowlevellock.s
blob23b1de70f075cb9a482da25b34dd1deb5c2b438a
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
50 .size __lll_lock_wait_private, .-__lll_lock_wait_private
51 .hidden __libc_fatal