From eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a Mon Sep 17 00:00:00 2001 From: Andrei Popescu Date: Thu, 25 Feb 2010 13:27:46 +0000 Subject: add sigaltstack syscall --- libc/arch-sh/syscalls/sigaltstack.S | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 libc/arch-sh/syscalls/sigaltstack.S (limited to 'libc/arch-sh/syscalls/sigaltstack.S') diff --git a/libc/arch-sh/syscalls/sigaltstack.S b/libc/arch-sh/syscalls/sigaltstack.S new file mode 100644 index 0000000..8b03e27 --- /dev/null +++ b/libc/arch-sh/syscalls/sigaltstack.S @@ -0,0 +1,32 @@ +/* autogenerated by gensyscalls.py */ +#include + + .text + .type sigaltstack, @function + .globl sigaltstack + .align 4 + +sigaltstack: + + /* invoke trap */ + mov.l 0f, r3 /* trap num */ + trapa #(2 + 0x10) + + /* check return value */ + cmp/pz r0 + bt __NR_sigaltstack_end + + /* keep error number */ + sts.l pr, @-r15 + mov.l 1f, r1 + jsr @r1 + mov r0, r4 + lds.l @r15+, pr + +__NR_sigaltstack_end: + rts + nop + + .align 2 +0: .long __NR_sigaltstack +1: .long __set_syscall_errno -- cgit v1.1