a4b2dc016f
Add signalfd() call to bionic.
Adding the signalfd call was done in 3 steps:
- add signalfd4 system call (function name and syscall
number) to libc/SYSCALLS.TXT
- generate all necessary headers by calling
libc/tools/gensyscalls.py. This patch is adding
the generated files since the build system
does not call gensyscalls.py.
- create the signalfd wrapper in signalfd.cpp and add
the function prototype to sys/signalfd.h
(cherry-pick of 0c11611c11
, modified to
work with older versions of GCC still in use on some branches.)
Change-Id: I4c6c3f12199559af8be63f93a5336851b7e63355
32 lines
605 B
ArmAsm
32 lines
605 B
ArmAsm
/* autogenerated by gensyscalls.py */
|
|
#include <sys/linux-syscalls.h>
|
|
|
|
.text
|
|
.type signalfd4, @function
|
|
.globl signalfd4
|
|
.align 4
|
|
|
|
signalfd4:
|
|
pushl %ebx
|
|
pushl %ecx
|
|
pushl %edx
|
|
pushl %esi
|
|
mov 20(%esp), %ebx
|
|
mov 24(%esp), %ecx
|
|
mov 28(%esp), %edx
|
|
mov 32(%esp), %esi
|
|
movl $__NR_signalfd4, %eax
|
|
int $0x80
|
|
cmpl $-129, %eax
|
|
jb 1f
|
|
negl %eax
|
|
pushl %eax
|
|
call __set_errno
|
|
addl $4, %esp
|
|
orl $-1, %eax
|
|
1:
|
|
popl %esi
|
|
popl %edx
|
|
popl %ecx
|
|
popl %ebx
|
|
ret
|