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