Re: gdb requires watchpoints to fire after the write

Joel Brobecker <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
> Pedro> Yeah, it's confusing.
> 
> [... great explanation ... ]
> 
> This would be great as comments in gdbarch.sh and target.h.
> None of these things have comments currently.

Agreed. I was going to send a patch doing so when I read Pedro's
message, and then read this. I'm happy to do the patch, but don't
want to start if Pedro is already on it.

> Pedro> We could most probably streamline all of this and come up with a better
> Pedro> design with some thought.  See also the comment in mips-tdep.c:
> 
> Pedro>   /* FIXME: cagney/2003-08-29: The macros target_have_steppable_watchpoint,
> Pedro>      HAVE_NONSTEPPABLE_WATCHPOINT, and target_have_continuable_watchpoint
> Pedro>      need to all be folded into the target vector.  Since they are
> Pedro>      being used as guards for target_stopped_by_watchpoint, why not have
> Pedro>      target_stopped_by_watchpoint return the type of watchpoint that the code
> Pedro>      is sitting on?  */
> Pedro>   set_gdbarch_have_nonsteppable_watchpoint (gdbarch, 1);
> 
> I'm curious about why this should be in the target rather than in the
> gdbarch.  It seems like a property of the ISA.
> 
> Is it possible for gdbserver to do the single-step itself, avoiding a
> round trip?  That was the only rationale I could think of.

It might not be gdbserver itself, which I don't think should try
to remain as minimalistic as possible in terms of this kind of
"intelligence", but maybe some other stubs?  For instance, a stub
might be designed to be usable against another kind of debugger
which might be expecting a certain type of behavior forcing
the stub to have to do the single-step itself. (?)

My perspective is that, if we don't have a concrete situation where
this functionality should be a property of the target, and we find
that it simplifies the code or avoids confusion to remove that target
property, then let's. The obvious question then becomes - what to do
with ia64-linux? Is this platform still in use and relevant enough
for us to invest energy into redesigning the watchpoint support on
this platform a bit?

-- 
Joel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.