Elliott Hughes | 5eccb96 | 2013-12-20 16:58:06 -0800 | [diff] [blame] | 1 | #include <private/bionic_asm.h> |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 2 | |
Elliott Hughes | 5eccb96 | 2013-12-20 16:58:06 -0800 | [diff] [blame] | 3 | // int __futex_syscall4(volatile void* ftx, int op, int val, const struct timespec* timeout) |
Elliott Hughes | d5ed63a | 2014-05-21 18:27:40 -0700 | [diff] [blame] | 4 | ENTRY_PRIVATE(__futex_syscall4) |
David 'Digit' Turner | 88f06cd | 2010-03-18 17:13:41 -0700 | [diff] [blame] | 5 | pushl %ebx |
| 6 | pushl %esi |
| 7 | movl 12(%esp), %ebx /* ftx */ |
| 8 | movl 16(%esp), %ecx /* op */ |
| 9 | movl 20(%esp), %edx /* val */ |
| 10 | movl 24(%esp), %esi /* timeout */ |
| 11 | movl $__NR_futex, %eax |
| 12 | int $0x80 |
| 13 | popl %esi |
| 14 | popl %ebx |
| 15 | ret |
Elliott Hughes | bdff26d | 2013-02-11 17:08:16 -0800 | [diff] [blame] | 16 | END(__futex_syscall4) |