This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Is stub support for the 's' packet optional or required?
- From: ac131313 at redhat dot com (Andrew Cagney)
- To: Kevin Buettner <kevinb at redhat dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Mon, 17 Feb 2003 21:04:08 -0500 (EST)
- Subject: 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