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
On Thu, Jan 02, 2003 at 03:13:31PM -0800, Michael Snyder wrote:
> 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.
Thanks, committed.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer