This is the mail archive of the gdb@sources.redhat.com 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: Is stub support for the 's' packet optional or required?


> I've been told off-list that it is not required for a stub to
> implement support for the 's' packet.  I was also told that the
> documenation is wrong in this regard.  Specifically, it says:
> 
>     A stub is required to support the `g', `G', `m', `M', `c', and `s'
>     commands.  All other commands are optional.
> 
> See
>     http://sources.redhat.com/gdb/current/onlinedocs/gdb_32.html#SEC632
> and
>     http://world.std.com/~qqi/download/protocol.txt
> 
> (I often find the latter document to be the more useful of the two.)
> 
> I'd like to get other opinions regarding this matter.  Also, if it
> really is the case that stubs are NOT required to implement support
> for the 's' packet, then will all such stubs return the empty response
> which indicates that there is no support for that particular packet?

If GDB implements software single step, then the `s' packet is never
used.  Consequently, requiring the unconditional implementation of "s"
makes little sense.

Note though that, while a target that doesn't support the "s" packet
should return "" instead of "T...".  remote.c isn't exactly set up to
handle this - by the time it realizes it's got a problem it is a bit
late.  The step-out-of-range code tried to address this but in the
process created querky resume semantics.

Andrew


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