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


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 :-)

New packets are a hassle to add, enable, probe, and document, but it's
mechanical and safe.

-- 
Daniel Jacobowitz
CodeSourcery


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