diff --git a/lisp/Linux-os.c b/lisp/Linux-os.c index 356909f9854dcbf0e70c991a14139f2df7452488..5f3c8685b5c99bd59cfe960754b27cb598bf6b46 100644 --- a/lisp/Linux-os.c +++ b/lisp/Linux-os.c @@ -15,7 +15,7 @@ * GENCGC support by Douglas Crosher, 1996, 1997. * Alpha support by Julian Dolby, 1999. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/Linux-os.c,v 1.18 2004/05/20 00:32:24 cwang Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/Linux-os.c,v 1.19 2004/06/07 15:24:08 rtoy Exp $ * */ @@ -227,6 +227,11 @@ boolean valid_addr(os_vm_address_t addr) #if defined GENCGC +static sigsegv_handle_now(HANDLER_ARGS) +{ + interrupt_handle_now(signal, contextstruct); +} + void sigsegv_handler(HANDLER_ARGS) { GET_CONTEXT @@ -262,7 +267,7 @@ void sigsegv_handler(HANDLER_ARGS) #else DPRINTF(0,(stderr,"sigsegv: eip: %p\n",context->eip)); #endif - interrupt_handle_now(signal, contextstruct); + sigsegv_handle_now(signal, contextstruct); } #else static void sigsegv_handler(HANDLER_ARGS) diff --git a/lisp/solaris-os.c b/lisp/solaris-os.c index c31d871e93b279518bde281b5b0be46290093cae..601dc9eff7704134482420aec05095fc1bc08139 100644 --- a/lisp/solaris-os.c +++ b/lisp/solaris-os.c @@ -1,5 +1,5 @@ /* - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/solaris-os.c,v 1.13 2004/05/04 12:39:45 rtoy Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/solaris-os.c,v 1.14 2004/06/07 15:24:08 rtoy Exp $ * * OS-dependent routines. This file (along with os.h) exports an * OS-independent interface to the operating system VM facilities. @@ -204,6 +204,12 @@ valid_addr(os_vm_address_t addr) * Running into the gc trigger page will end up here... */ #if defined(GENCGC) + +void segv_handle_now(HANDLER_ARGS) +{ + interrupt_handle_now(signal, code, context); +} + void segv_handler(HANDLER_ARGS) { caddr_t addr = code->si_addr; @@ -273,7 +279,7 @@ void segv_handler(HANDLER_ARGS) /* a *real* protection fault */ fprintf(stderr, "segv_handler: Real protection violation: 0x%08x\n", addr); - interrupt_handle_now(signal, code, context); + segv_handle_now(signal, code, context); } #else void