diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2004-01-29 18:56:15 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2004-01-29 18:56:15 +0000 |
commit | b95bf43153ce90a04c72b46fc1722f148a36adbd (patch) | |
tree | e3ae2726a04ebadc5f659918ac589cece479edcf /lib/libc/arch | |
parent | cec57fc6b6e00c12a6e72e6a7009a013700d7aaa (diff) |
fix to use sigaltstack again. help miod ok miod deraadt
Diffstat (limited to 'lib/libc/arch')
-rw-r--r-- | lib/libc/arch/alpha/gen/setjmp.S | 12 | ||||
-rw-r--r-- | lib/libc/arch/sparc64/gen/setjmp.S | 10 |
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/libc/arch/alpha/gen/setjmp.S b/lib/libc/arch/alpha/gen/setjmp.S index 30909064fbf..4bc994b90af 100644 --- a/lib/libc/arch/alpha/gen/setjmp.S +++ b/lib/libc/arch/alpha/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: setjmp.S,v 1.5 2004/01/15 13:39:38 deraadt Exp $ */ +/* $OpenBSD: setjmp.S,v 1.6 2004/01/29 18:56:14 tedu Exp $ */ /* $NetBSD: setjmp.S,v 1.2 1996/10/17 03:08:06 cgd Exp $ */ /* @@ -32,7 +32,7 @@ #if defined(LIBC_SCCS) .text - .asciz "$OpenBSD: setjmp.S,v 1.5 2004/01/15 13:39:38 deraadt Exp $" + .asciz "$OpenBSD: setjmp.S,v 1.6 2004/01/29 18:56:14 tedu Exp $" #endif /* @@ -71,12 +71,12 @@ LEAF(setjmp, 1) CALL(sigblock) /* see what's blocked */ stq v0, (1 * 8)(s0) /* and remember it in sc_mask */ - lda sp, -16(sp) /* sizeof struct osigaltstack */ + lda sp, -24(sp) /* padded struct sigaltstack */ mov zero, a0 mov sp, a1 - CALL(osigaltstack) - ldl t0, 12(sp) - lda sp, 16(sp) + CALL(sigaltstack) + ldl t0, 16(sp) + lda sp, 24(sp) ldq ra, ((26 + 4) * 8)(s0) /* restore return address */ blt v0, botch /* check for error */ and t0, 0x1, t0 /* get SA_ONSTACK flag */ diff --git a/lib/libc/arch/sparc64/gen/setjmp.S b/lib/libc/arch/sparc64/gen/setjmp.S index 4d156c8b3dd..4b35036568f 100644 --- a/lib/libc/arch/sparc64/gen/setjmp.S +++ b/lib/libc/arch/sparc64/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: setjmp.S,v 1.4 2004/01/15 13:40:22 deraadt Exp $ */ +/* $OpenBSD: setjmp.S,v 1.5 2004/01/29 18:56:14 tedu Exp $ */ /* $NetBSD: setjmp.S,v 1.4 2000/08/28 00:45:59 eeh Exp $ */ /* @@ -55,7 +55,7 @@ ENTRY(setjmp) /* * We use the part of the sigcontext structure, the sp, pc, and npc - * fields, for the osigaltstack call so we don't need to get our own + * fields, for the sigaltstack call so we don't need to get our own * stackframe. It won't be filled out till later anyway. */ mov %o0, %o3 /* Save our jmp_buf in %o3 */ @@ -76,12 +76,12 @@ ENTRY(setjmp) st %o0, [%o3 + 0x38] /* sc.sc_mask = current mask; */ - mov SYS_osigaltstack, %g1 - clr %o0 /* osigaltstack(NULL, &foo) */ + mov SYS_sigaltstack, %g1 + clr %o0 /* sigaltstack(NULL, &foo) */ add %o3, 0x40, %o1 /* (foo being the sigcontext sc_mask) */ t ST_SYSCALL - lduw [%o3 + 0x40+0xc], %o0 /* foo.ss_flags */ + lduw [%o3 + 0x40+0x10], %o0 /* foo.ss_flags */ and %o0, 1, %o1 /* onstack = foo.ss_flags & 1; */ st %o1, [%o3 + 0x00] /* sc.sc_onstack = current onstack; */ |