summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2006-10-17 03:33:40 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2006-10-17 03:33:40 +0000
commita46dba3f50b0da98e4d26fe1cbd8d205c8ce1cd4 (patch)
treed814810b755c0772e797266c194afa35709fc4e4 /sys/arch
parent5f563534ed451b23919435870d7dd93e40ba8189 (diff)
Dont clobber tf->tf_spc, we might want to print it in do_panic.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sh/sh/trap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/sh/sh/trap.c b/sys/arch/sh/sh/trap.c
index c4da3df5a89..2c4032cb55c 100644
--- a/sys/arch/sh/sh/trap.c
+++ b/sys/arch/sh/sh/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.1 2006/10/06 21:02:55 miod Exp $ */
+/* $OpenBSD: trap.c,v 1.2 2006/10/17 03:33:39 drahn Exp $ */
/* $NetBSD: exception.c,v 1.32 2006/09/04 23:57:52 uwe Exp $ */
/* $NetBSD: syscall.c,v 1.6 2006/03/07 07:21:50 thorpej Exp $ */
@@ -191,9 +191,9 @@ general_exception(struct proc *p, struct trapframe *tf, uint32_t va)
case EXPEVT_ADDR_ERR_LD: /* FALLTHROUGH */
case EXPEVT_ADDR_ERR_ST:
KDASSERT(p->p_md.md_pcb->pcb_onfault != NULL);
- tf->tf_spc = (int)p->p_md.md_pcb->pcb_onfault;
- if (tf->tf_spc == 0)
+ if (p->p_md.md_pcb->pcb_onfault == 0)
goto do_panic;
+ tf->tf_spc = (int)p->p_md.md_pcb->pcb_onfault;
break;
case EXPEVT_ADDR_ERR_LD | EXP_USER: /* FALLTHROUGH */