This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb ignoring vCont supported commands
- From: Bill Morgan <arthurwilliammorgan at gmail dot com>
- To: palves at redhat dot com
- Cc: gdb at sourceware dot org
- Date: Tue, 9 Oct 2018 15:12:23 -0500
- Subject: Re: gdb ignoring vCont supported commands
- References: <CAM4wpo_0SNkU7FSo8_=YBShWfmqJMa73=+DL7P-yTKXzHpLO9Q@mail.gmail.com> <0eeb55ca-d4e1-4db4-e601-74ca7e1151e2@redhat.com>
On Tue, Oct 9, 2018 at 1:30 PM Pedro Alves <palves@redhat.com> wrote:
> On 10/09/2018 02:42 PM, Bill Morgan wrote:
> > I tell gdb that I support only vCont c and C, so it sends me s. Why is it
> > sending s when I don't support that?
> >
> > (gdb) s
> > Sending packet:
> > $QPassSignals:e;10;14;17;1a;1b;1c;21;24;25;2c;4c;97;#0a...Ack
> > Packet received: OK
> > Sending packet: $vCont?#49...Ack
> > Packet received: vCont;c;C
> > Packet vCont (verbose-resume) is supported
> > Sending packet: $vCont;s:13;c#f4...Ack
> > Packet received: E01
> > warning: Remote failure reply: E01
>
> That's historical behavior, and GDB cannot change it, unfortunately.
> But the good news is that in more recent GDBs there is a protocol
> extension to tell GDB to trust the set of reported supported
> vCont actions.
>
> Copying what I said here:
> https://sourceware.org/ml/gdb-patches/2018-09/msg00359.html
>
> ~~~~~~~~~~~~~~~~~~~~~~~~
> GDB can't trust "vCont;c;C" alone, because for a long
> while GDBserver would send "vCont;c;s;C;S" even if the target
> did not support hardware stepping. So what a stub needs to do
> is:
>
> Return "vCont;c;C" to "vCont?" _AND_ include "vContSupported"
> in the reported "qSupported" features. The latter tells GDB
> to trust that the actions included in "vCont?" are really the
> supported ones. (I wish we had implemented this a little bit
> differently, but that ship has sailed, and although a bit
> cumbersome, it works.)
> ~~~~~~~~~~~~~~~~~~~~~~~~
>
>
I get a warning that vContSupported is unrecognized:
Sending packet:
$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df...Ack
Packet received:
PacketSize=3fff;QPassSignals+;qXfer:features:read+;qXfer:threads:read+;vContSupported
Packet qSupported (supported-packets) is supported
warning: unrecognized item "vContSupported" in "qSupported" response
I am using this version:
GNU gdb (GNU Tools for Arm Embedded Processors 7-2017-q4-major)
8.0.50.20171128-git
> Thanks,
> Pedro Alves
>