This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Modifications on gdbserver


Hi Daniel,

On Tuesday 29 September 2009, Daniel Jacobowitz wrote:
> On Tue, Sep 29, 2009 at 04:40:14PM -0300, Sérgio Durigan Júnior wrote:
> > 1) I could extend the remote protocol and include one more type of `Z'
> > packet (`Z5', for example) which would represent this type of hardware
> > breakpoint.
> >
> > 2) I could extend the existing `Z1' (hardware breakpoint) packet in order
> > to include a "length" (or "range") parameter.  This will be different
> > from the existing "size" parameter, because "size" is currently used the
> > size of the instruction on the architecture.
> >
> > What do you think?  Considering that there will be more "special" types
> > of hardware breakpoints/watchpoints, probably I should choose (2) and try
> > to modify the remote protocol as few as possible.  Do you agree?  Also,
> > do you see other option(s) that could be better for this case?
> 
> The vital thing to remember when modifying the remote protocol is to
> be compatible.  We shouldn't send packets to existing servers that
> won't understand them.  So I think (1) is better, because then we can
> probe for the existance of the new packet and refuse to set
> watchpoints if the target can't implement them.  If you change an
> existing packet, it's impossible to guess all the ways existing
> servers will parse it incorrectly :-)

You are right, I wasn't thinking about backwards-compatibility.  I am probably 
going to have to add some more packets to the protocol because there are other 
special types of breakpoints/watchpoints that I would like to add.  I will 
certainly ask for more opinions if I get stuck.

Thank you for answering this,

-- 
Sérgio Durigan Júnior
Linux on Power Toolchain - Software Engineer
Linux Technology Center - LTC
IBM Brazil


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]