diff options
Diffstat (limited to 'libc/arch-x86/syscalls/futex.S')
-rw-r--r-- | libc/arch-x86/syscalls/futex.S | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libc/arch-x86/syscalls/futex.S b/libc/arch-x86/syscalls/futex.S new file mode 100644 index 0000000..ac51316 --- /dev/null +++ b/libc/arch-x86/syscalls/futex.S @@ -0,0 +1,38 @@ +/* autogenerated by gensyscalls.py */ +#include <sys/linux-syscalls.h> + + .text + .type futex, @function + .globl futex + .align 4 + +futex: + pushl %ebx + pushl %ecx + pushl %edx + pushl %esi + pushl %edi + pushl %ebp + mov 28(%esp), %ebx + mov 32(%esp), %ecx + mov 36(%esp), %edx + mov 40(%esp), %esi + mov 44(%esp), %edi + mov 48(%esp), %ebp + movl $__NR_futex, %eax + int $0x80 + cmpl $-129, %eax + jb 1f + negl %eax + pushl %eax + call __set_errno + addl $4, %esp + orl $-1, %eax +1: + popl %ebp + popl %edi + popl %esi + popl %edx + popl %ecx + popl %ebx + ret |