diff options
Diffstat (limited to 'libc/arch-x86')
-rw-r--r-- | libc/arch-x86/syscalls.mk | 1 | ||||
-rw-r--r-- | libc/arch-x86/syscalls/sigaltstack.S | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/libc/arch-x86/syscalls.mk b/libc/arch-x86/syscalls.mk index dbc55e6..6a528e3 100644 --- a/libc/arch-x86/syscalls.mk +++ b/libc/arch-x86/syscalls.mk @@ -40,6 +40,7 @@ syscall_src += arch-x86/syscalls/chroot.S syscall_src += arch-x86/syscalls/prctl.S syscall_src += arch-x86/syscalls/capget.S syscall_src += arch-x86/syscalls/capset.S +syscall_src += arch-x86/syscalls/sigaltstack.S syscall_src += arch-x86/syscalls/acct.S syscall_src += arch-x86/syscalls/read.S syscall_src += arch-x86/syscalls/write.S diff --git a/libc/arch-x86/syscalls/sigaltstack.S b/libc/arch-x86/syscalls/sigaltstack.S new file mode 100644 index 0000000..d39419d --- /dev/null +++ b/libc/arch-x86/syscalls/sigaltstack.S @@ -0,0 +1,26 @@ +/* autogenerated by gensyscalls.py */ +#include <sys/linux-syscalls.h> + + .text + .type sigaltstack, @function + .globl sigaltstack + .align 4 + +sigaltstack: + pushl %ebx + pushl %ecx + mov 12(%esp), %ebx + mov 16(%esp), %ecx + movl $__NR_sigaltstack, %eax + int $0x80 + cmpl $-129, %eax + jb 1f + negl %eax + pushl %eax + call __set_errno + addl $4, %esp + orl $-1, %eax +1: + popl %ecx + popl %ebx + ret |