blob: b21da36e405a90aaf21f27cb3b3c42438c3c5982 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/* autogenerated by gensyscalls.py */
Elliott Hughes9aceab52013-03-12 14:57:30 -07002#include <linux/err.h>
Elliott Hughes7582a9c2013-02-06 17:08:15 -08003#include <machine/asm.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08004#include <sys/linux-syscalls.h>
5
Elliott Hughes7582a9c2013-02-06 17:08:15 -08006ENTRY(futex)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08007 pushl %ebx
8 pushl %ecx
9 pushl %edx
10 pushl %esi
11 pushl %edi
12 pushl %ebp
13 mov 28(%esp), %ebx
14 mov 32(%esp), %ecx
15 mov 36(%esp), %edx
16 mov 40(%esp), %esi
17 mov 44(%esp), %edi
18 mov 48(%esp), %ebp
19 movl $__NR_futex, %eax
20 int $0x80
Elliott Hughes9aceab52013-03-12 14:57:30 -070021 cmpl $-MAX_ERRNO, %eax
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080022 jb 1f
23 negl %eax
24 pushl %eax
25 call __set_errno
26 addl $4, %esp
27 orl $-1, %eax
281:
29 popl %ebp
30 popl %edi
31 popl %esi
32 popl %edx
33 popl %ecx
34 popl %ebx
35 ret
Elliott Hughes7582a9c2013-02-06 17:08:15 -080036END(futex)