This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA/breakpoint] Fix errors from disabled watchpoints
- From: Michael Snyder <msnyder at redhat dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: gdb-patches at sources dot redhat dot com, jimb at redhat dot com
- Date: Thu, 02 Jan 2003 15:13:31 -0800
- Subject: Re: [RFA/breakpoint] Fix errors from disabled watchpoints
- Organization: Red Hat, Inc.
- References: <20021228180954.GA17387@nevyn.them.org> <3E149C3E.5EE135BB@redhat.com> <20030102212230.GA23599@nevyn.them.org>
Daniel Jacobowitz wrote:
>
> On Thu, Jan 02, 2003 at 12:08:30PM -0800, Michael Snyder wrote:
> > Daniel Jacobowitz wrote:
> > >
> > > Right now, if you set and then disable a watchpoint, you'll still memory
> > > errors from it in two places. One is fatal, and comes from
> > > insert_breakpoints (); the other is just noisy, and comes from
> > > breakpoint_re_set_one (). Neither really serves any purpose. If a
> > > watchpoint is disabled, we don't need to check what its value is; we'll
> > > check when we insert it.
> > >
> > > It would be nice to do the equivalet of a bp_shlib_disabled for watchpoints
> > > on memory that isn't currently accessible but that's not really practical on
> > > any OS I know of, so the user still has to hand-disable and hand-enable the
> > > watchpoints. But at least they don't have to _delete_ the watchpoints now.
> > >
> > > Is this OK? No surprises in the testsuite on i386-linux.
> >
> > I'm not surprised that watchpoints were broken in this way,
> > but after looking at your changes, I am surprised that the
> > problem didn't show up in any other context.
> >
> > My only concern with your change is that you've changed
> > the code from explicitly listing the excluded states, to
> > assuming that they are all excluded except for one. The
> > problem that concerns me with that is, what if future states
> > are added?
>
> We were already being pretty inconsistent about which we checked; see
> how half the checks I deleted were inclusive and the other half were
> exclusive?
>
> If we start adding states I suspect we'll need BREAKPOINT_ENABLED
> (bp->state), or something along those lines.
Or BREAKPOINT_INSERTABLE, or something. OK, I'll approve it.