diff --git a/lisp/alpha-arch.c b/lisp/alpha-arch.c index 5d17bd11b4003ec09bb51d997d46b0202d7ec6a1..e777ae16710ebbfff1e32827e105bd2812a61367 100644 --- a/lisp/alpha-arch.c +++ b/lisp/alpha-arch.c @@ -1,6 +1,6 @@ /* - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alpha-arch.c,v 1.3 1994/10/27 17:13:54 ram Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alpha-arch.c,v 1.4 1998/05/22 00:47:30 pw Exp $ This code was written as part of the CMU Common Lisp project at Carnegie Mellon University, and has been placed in the public domain. @@ -52,7 +52,9 @@ os_vm_address_t arch_get_bad_addr(int sig, int code, struct sigcontext *scp) badinst = *(unsigned int *)scp->sc_pc; - if((badinst>>27)!=0x16) return NULL; + if(((badinst>>27)!=0x16) /* STL or STQ */ + && ((badinst>>27)!=0x13)) /* STS or STT */ + return NULL; /* Otherwise forget about address */ return (os_vm_address_t)(scp->sc_regs[(badinst>>16)&0x1f]+(badinst&0xffff)); }