diff options
author | Philip Guenthe <guenther@cvs.openbsd.org> | 2012-12-02 07:03:33 +0000 |
---|---|---|
committer | Philip Guenthe <guenther@cvs.openbsd.org> | 2012-12-02 07:03:33 +0000 |
commit | 15c7623306062239f832ef81bd0bdfc804b4d186 (patch) | |
tree | d4c341f7fa4f162d4c4cd1ede1db5c9089f0afb6 /sys/arch/amd64/include/signal.h | |
parent | b02dfe0ab7aae6700f0c15419373891118eab134 (diff) |
Determine whether we're currently on the alternative signal stack
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out of the signal handler, as tested by regress/sys/kern/stackjmp/.
Also, fix alt stack handling on vax, where it was completely broken.
Testing and corrections by miod@, krw@, tobiasu@, pirofti@
Diffstat (limited to 'sys/arch/amd64/include/signal.h')
-rw-r--r-- | sys/arch/amd64/include/signal.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/amd64/include/signal.h b/sys/arch/amd64/include/signal.h index 88dfc97cecf..f1f310048d2 100644 --- a/sys/arch/amd64/include/signal.h +++ b/sys/arch/amd64/include/signal.h @@ -1,4 +1,4 @@ -/* $OpenBSD: signal.h,v 1.6 2011/03/23 16:54:34 pirofti Exp $ */ +/* $OpenBSD: signal.h,v 1.7 2012/12/02 07:03:31 guenther Exp $ */ /* $NetBSD: signal.h,v 1.2 2003/04/28 23:16:17 bjh21 Exp $ */ /* @@ -81,7 +81,7 @@ struct sigcontext { long sc_ss; struct fxsave64 *sc_fpstate; - int sc_onstack; + int __sc_unused; int sc_mask; }; #endif /* __BSD_VISIBLE || __XPG_VISIBLE >= 420 */ |