aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/breakpoint.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bca417d..2a4df9b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2000-03-21 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * breakpoint.c (bpstat_stop_status): Don't stop if a read
+ watchpoint appears to break, but the watched value changed.
+
2000-03-21 Jim Blandy <jimb@redhat.com>
* gdbarch.sh: Emit a definition and declaration for gdbarch_free,
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b77a404..4e0fc67 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -2619,6 +2619,17 @@ bpstat_stop_status (pc, not_a_breakpoint)
/* Stop. */
break;
case WP_VALUE_CHANGED:
+ if (b->type == bp_read_watchpoint)
+ {
+ /* Don't stop: read watchpoints shouldn't fire if
+ the value has changed. This is for targets which
+ cannot set read-only watchpoints. */
+ bs->print_it = print_it_noop;
+ bs->stop = 0;
+ continue;
+ }
+ ++(b->hit_count);
+ break;
case WP_VALUE_NOT_CHANGED:
/* Stop. */
++(b->hit_count);