Date: Saturday, December 18, 2010 @ 11:19:40 Author: rtoy Path: /project/cmucl/cvsroot/src/lisp Tag: cross-sol-x86-branch
Modified: solaris-os.c
Add function real_segv_handler to handle "real protection" violations. Useful for debugging so we can easily stop in such cases.
--------------+ solaris-os.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
Index: src/lisp/solaris-os.c diff -u src/lisp/solaris-os.c:1.26.4.2 src/lisp/solaris-os.c:1.26.4.3 --- src/lisp/solaris-os.c:1.26.4.2 Wed Dec 15 07:45:51 2010 +++ src/lisp/solaris-os.c Sat Dec 18 11:19:39 2010 @@ -1,5 +1,5 @@ /* - * $Header: /project/cmucl/cvsroot/src/lisp/solaris-os.c,v 1.26.4.2 2010-12-15 12:45:51 rtoy Exp $ + * $Header: /project/cmucl/cvsroot/src/lisp/solaris-os.c,v 1.26.4.3 2010-12-18 16:19:39 rtoy Exp $ * * OS-dependent routines. This file (along with os.h) exports an * OS-independent interface to the operating system VM facilities. @@ -211,6 +211,11 @@ interrupt_handle_now(signal, code, context); }
+void real_segv_handler(HANDLER_ARGS) +{ + segv_handle_now(signal, code, context); +} + void segv_handler(HANDLER_ARGS) { @@ -265,7 +270,7 @@ fprintf(stderr, "segv_handler: Real protection violation: %p, PC = %p\n", addr, context->uc_mcontext.gregs[1]); - segv_handle_now(signal, code, context); + real_segv_handler(signal, code, context); } #else void