summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>1999-06-17 18:17:11 +0000
committerArtur Grabowski <art@cvs.openbsd.org>1999-06-17 18:17:11 +0000
commit69deb077e03a795ce0c7dc0491603887d17c6574 (patch)
treeb5c848bc30c707ecd66968f72f4a7ead7f070ca1 /sys
parent7ddb98bd40352576ff3082eb7155b17f6593f09c (diff)
fix continuing from breakpoints on sparc
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/sparc/sparc/trap.c3
-rw-r--r--sys/ddb/db_run.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/sparc/sparc/trap.c b/sys/arch/sparc/sparc/trap.c
index 23ce365fcf9..0316445cd11 100644
--- a/sys/arch/sparc/sparc/trap.c
+++ b/sys/arch/sparc/sparc/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.16 1999/04/22 19:02:49 art Exp $ */
+/* $OpenBSD: trap.c,v 1.17 1999/06/17 18:17:10 art Exp $ */
/* $NetBSD: trap.c,v 1.58 1997/09/12 08:55:01 pk Exp $ */
/*
@@ -304,7 +304,6 @@ trap(type, psr, pc, tf)
if (type == T_BREAKPOINT) {
write_all_windows();
if (kdb_trap(type, tf)) {
- ADVANCE;
return;
}
}
diff --git a/sys/ddb/db_run.c b/sys/ddb/db_run.c
index 872daa9c505..7bb68be0519 100644
--- a/sys/ddb/db_run.c
+++ b/sys/ddb/db_run.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: db_run.c,v 1.11 1998/03/16 08:44:32 pefo Exp $ */
+/* $OpenBSD: db_run.c,v 1.12 1999/06/17 18:17:08 art Exp $ */
/* $NetBSD: db_run.c,v 1.8 1996/02/05 01:57:12 christos Exp $ */
/*
@@ -107,6 +107,9 @@ db_stop_at_pc(regs, is_breakpoint)
(db_not_taken_bkpt && db_not_taken_bkpt->address == pc))
#endif
) {
+#ifdef PC_ADVANCE
+ PC_ADVANCE(regs);
+#else
/*
* XXX why on earth is this ifndef'd? Please explain!
* I believe this was a workaround a bug where singlestep
@@ -116,6 +119,7 @@ db_stop_at_pc(regs, is_breakpoint)
#ifndef m88k
PC_REGS(regs) = old_pc;
#endif
+#endif
}
db_clear_single_step(regs);