This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
vCont: optional packet or not?
- From: Doug Evans <dje at google dot com>
- To: gdb at sourceware dot org, palves at redhat dot com
- Date: Tue, 01 Nov 2016 21:15:06 +0000
- Subject: vCont: optional packet or not?
- Authentication-results: sourceware.org; auth=none
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.]