vCont: optional packet or not?

Doug Evans dje@google.com
Tue Nov 1 21:15:00 GMT 2016


Hi.

Two main questions/issues:
1) In non-stop mode is vCont a required or optional packet
a stub needs to provide?
2) Trunk seems to have regressed (could be wrong) with respect
to first checking whether vCont is supported before using it.

In 7.12 it seems optional. I don't remember exactly, but
the 7.12 code does do some checking whether vCont is supported
before sending vCont packets.

Things are further confusing :-( :-( :-( because
there's also vContSupported which the docs say indicates whether
vCont? is supported, not whether vCont is supported.
[The name could be a teensy bit better ...]
vCont? will tell gdb whether vCont is supported (including
what flavors (c,C,s,S,t,...), but gdb only uses this to check
whether vCont;[sS] (singlestepping) is supported, not whether e.g.,
vCont;[cC] (continue) is supported.

So where's the check for whether vCont;[cC] is supported?

Things have changed from 7.12, I think, in trunk.
I'm seeing gdb issue vCont;c packets and complaining
about bad replies from my stub, but it has never asked
or even checked whether the packet is supported.
[e.g., remote_commit_resume just blindly sends vCont.]

What's the story here?

If someone can describe how things are intended to work,
I'll volunteer to fix/enhance the remote protocol spec
in the docs. [Or you can directly.]



More information about the Gdb mailing list