
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 0c11611c11f4dc1b6d43587b72c3ccbe8c51a51c, modified to work with older versions of GCC still in use on some branches.) Change-Id: I4c6c3f12199559af8be63f93a5336851b7e63355
33 lines
605 B
ArmAsm
33 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
|