From: Michael Snyder <msnyder@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Doug Evans <dje@transmeta.com>, gdb@sources.redhat.com
Subject: Re: STOPPED_BY_WATCHPOINT peculiarity
Date: Thu, 11 Apr 2002 14:15:00 -0000 [thread overview]
Message-ID: <3CB5FA10.139B77AE@redhat.com> (raw)
In-Reply-To: <20020402172008.A4532@nevyn.them.org>
Daniel Jacobowitz wrote:
>
> On Tue, Apr 02, 2002 at 05:01:45PM -0500, Daniel Jacobowitz wrote:
> > On Tue, Apr 02, 2002 at 01:54:47PM -0800, Doug Evans wrote:
> > > Something is not right, or at least confusing, in watchpoint-land.
> > >
> > > This code in infrun.c is odd:
> > >
> > > /* It may be possible to simply continue after a watchpoint. */
> > > if (HAVE_CONTINUABLE_WATCHPOINT)
> > > STOPPED_BY_WATCHPOINT (ecs->ws);
> > >
> > > STOPPED_BY_WATCHPOINT is a predicate.
> > > Therefore at first glance this code is pointless.
> > >
> > > Things are slightly less confusing by recognizing that in the
> > > process of computing STOPPED_BY_WATCHPOINT some debugging printf's
> > > may get printed. e.g. grep for maint_show_dr in
> > > i386-nat.c:i386_stopped_data_address.
> > >
> > > nm-i386.h:
> > > #define STOPPED_BY_WATCHPOINT(W) (i386_stopped_data_address () != 0)
> > >
> > > Is that all there is to it?
> > >
> > > If so, a comment should be added, maybe something like
> > >
> > > - /* It may be possible to simply continue after a watchpoint. */
> > > + /* It may be possible to simply continue after a watchpoint.
> > > + While at first glance this code is pointless, STOPPED_BY_WATCHPOINT
> > > + is called in case there are any maintenance debugging printf's. */
> > > if (HAVE_CONTINUABLE_WATCHPOINT)
> > > STOPPED_BY_WATCHPOINT (ecs->ws);
> >
> > What astonishing timing... I believe there is more going on here, and I
> > was in the middle of looking at this code just a moment ago. See the
> > test failure on i386-linux in gdb.c++/annota2.exp (watch a.x). We have
> > a problem actually correctly detecting that we are stopped by a
> > watchpoint.
>
> Actually, I take that back. STOPPED_BY_WATCHPOINT has nothing to do
> with the problem I'm working on. This line came in far enough back
> that the public tree's CVS history appears to be useless; it's been
> through some reformats but that's it. Might want to ask a Cygnus
> person to dig around.
Yo! ;-)
1) History: the line was added in 1995 by Jim Kingdon.
I can't find any explanation in the changelogs or comments.
2) Yes, it is possible for a predicate to have side effects,
and indeed several implementations of this one (eg. sparc)
cause a register to be read, and one (ia64) causes a register
to be modified. Based on that, I don't think it is safe to
remove the line, without much more deliberation.
next prev parent reply other threads:[~2002-04-11 21:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-02 13:55 Doug Evans
2002-04-02 14:03 ` Daniel Jacobowitz
2002-04-02 14:20 ` Daniel Jacobowitz
2002-04-11 14:15 ` Michael Snyder [this message]
2002-04-05 3:22 ` Eli Zaretskii
2002-04-05 8:46 ` Doug Evans
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=3CB5FA10.139B77AE@redhat.com \
--to=msnyder@redhat.com \
--cc=dje@transmeta.com \
--cc=drow@mvista.com \
--cc=gdb@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