From: Orjan Friberg <orjan.friberg@axis.com>
To: gdb-patches@sources.redhat.com
Subject: Re: Display of read/access watchpoints when HAVE_NONSTEPPABLE_WATCHPOINT
Date: Tue, 06 Apr 2004 10:14:00 -0000 [thread overview]
Message-ID: <407282F4.2080602@axis.com> (raw)
In-Reply-To: <ur81oqb1c.fsf@elta.co.il>
Eli Zaretskii wrote:
>
> Anyway, from your description, it is quite clear that if a target
> defines HAVE_NONSTEPPABLE_WATCHPOINT, GDB must call
> target_stopped_data_address before it disables the watchpoint and
> steps over it, or else the target end should store the necessary info
> somewhere and deliver it when target_stopped_data_address is called.
>
> In other words, it sounds like a bug.
I had missed a previous thread on the subject, initiated by Paul Koning
(starting at
http://sources.redhat.com/ml/gdb-patches/2003-05/msg00506.html). Paul
sent me a patch for 5.3 which no longer applies cleanly, and with his
blessings I'm trying to update his patch to the current CVS.
Doing that, I encountered a problem with read watchpoints (rwatch
command): in insert_breakpoints, before calling insert_bp_location, the
current value of the watched expression is read. Then in
bpstat_stop_status, when the watchpoint has hit, there's the following
code snippet:
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;
So, if we're "read watching" a variable that indeed has changed since we
read it before inserting it we decide not to stop. Here's another
example (foo is rwatched):
volatile int foo = 0;
int a;
a = foo; /* foo read; stops. */
foo = 1;
a = foo; /* foo read; doesn't stop because value changed. */
The "Don't stop" comment is consistent with the behaviour, so it seems
like this is intended. What am I missing here?
--
Orjan Friberg
Axis Communications
next prev parent reply other threads:[~2004-04-06 10:14 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-08 8:50 Orjan Friberg
2003-10-08 10:26 ` Eli Zaretskii
2003-10-08 13:36 ` Orjan Friberg
2003-10-08 16:02 ` Paul Koning
2004-04-06 10:14 ` Orjan Friberg [this message]
2004-04-06 14:22 ` Daniel Jacobowitz
2004-04-07 9:11 ` Orjan Friberg
2004-04-15 8:17 ` Eli Zaretskii
2004-04-15 13:24 ` Orjan Friberg
2004-04-16 7:18 ` Eli Zaretskii
2004-04-16 9:46 ` Orjan Friberg
2004-04-16 11:42 ` Orjan Friberg
2004-04-17 8:27 ` Eli Zaretskii
2004-04-19 14:59 ` Orjan Friberg
2004-04-22 15:08 ` Orjan Friberg
2004-04-22 15:48 ` Paul Koning
2004-04-22 18:40 ` Eli Zaretskii
2004-04-22 19:07 ` Paul Koning
2004-04-22 19:09 ` Paul Koning
2004-04-23 18:20 ` Eli Zaretskii
2004-04-23 18:22 ` Eli Zaretskii
2004-04-26 9:04 ` Orjan Friberg
2004-04-26 9:25 ` Eli Zaretskii
2004-05-01 21:18 ` Mark Kettenis
2004-05-02 4:48 ` Eli Zaretskii
2004-05-03 11:25 ` Orjan Friberg
2004-05-03 15:05 ` Andrew Cagney
2004-05-03 18:01 ` Eli Zaretskii
2004-05-03 18:36 ` Andrew Cagney
2004-05-03 17:49 ` Eli Zaretskii
2004-05-04 7:31 ` Orjan Friberg
2004-05-04 23:52 ` Daniel Jacobowitz
2004-05-04 22:10 Ulrich Weigand
2004-05-05 5:08 ` Eli Zaretskii
2004-05-05 8:26 ` Orjan Friberg
2004-05-06 4:58 ` Eli Zaretskii
2004-05-06 14:21 ` Daniel Jacobowitz
2004-05-06 18:02 ` Eli Zaretskii
2004-05-06 18:05 ` Daniel Jacobowitz
2004-05-07 8:18 ` Eli Zaretskii
2004-05-06 21:34 ` Ulrich Weigand
2004-05-06 21:36 ` Daniel Jacobowitz
2004-05-07 8:22 ` Eli Zaretskii
2004-05-07 8:23 ` Eli Zaretskii
2004-05-05 13:44 ` Paul Koning
2004-05-06 5:08 ` Eli Zaretskii
2004-05-06 13:44 ` Paul Koning
2004-05-06 21:38 ` Ulrich Weigand
2004-05-06 21:49 ` Paul Koning
2004-05-07 8:18 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=407282F4.2080602@axis.com \
--to=orjan.friberg@axis.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox