Update of /cvsroot/sbcl/sbcl/src/runtime
In directory usw-pr-cvs1:/tmp/cvs-serv9907/src/runtime
Modified Files:
interrupt.c
Log Message:
0.7.6.something
More stack checking fixes
... when frobbing signal context on x86, set arg count (ecx) to 0,
should fix problem observed on OpenBSD
... define a special control-stack-exhausted condition so that
ignore-errors won't ignore stack exhaustion
... fix the test to match the condition
Index: interrupt.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- interrupt.c 24 Jul 2002 10:43:17 -0000 1.29
+++ interrupt.c 24 Jul 2002 22:10:31 -0000 1.30
@@ -539,9 +539,11 @@
build_fake_control_stack_frames(context);
/* signal handler will "return" to this error-causing function */
*os_context_pc_addr(context) = function;
-#ifndef LISP_FEATURE_X86
+#ifdef LISP_FEATURE_X86
/* this much of the calling convention is common to all
non-x86 ports */
+ *os_context_register_addr(context,reg_ECX) = 0;
+#else
*os_context_register_addr(context,reg_NARGS) = 0;
*os_context_register_addr(context,reg_LIP) = function;
*os_context_register_addr(context,reg_CFP) =
|