diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/breakpoint.c | 11 |
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); |