summaryrefslogtreecommitdiff
path: root/lib/libc/arch
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2004-01-29 18:56:15 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2004-01-29 18:56:15 +0000
commitb95bf43153ce90a04c72b46fc1722f148a36adbd (patch)
treee3ae2726a04ebadc5f659918ac589cece479edcf /lib/libc/arch
parentcec57fc6b6e00c12a6e72e6a7009a013700d7aaa (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.S12
-rw-r--r--lib/libc/arch/sparc64/gen/setjmp.S10
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; */