Re: [Qemu-devel] [PATCH] gdbstub: Send a reply to the vKill packet.
14.02.2019. 19.27, "Sandra Loosemore" је написао/ла: > > On 2/14/19 10:48 AM, Peter Maydell wrote: >> >> On Tue, 12 Feb 2019 at 21:52, Sandra Loosemore wrote: >>> >>> >>> Per the GDB remote protocol documentation >>> >>> https://sourceware.org/gdb/current/onlinedocs/gdb/Packets.html#index-vKill-packet >>> >>> the debug stub is expected to send a reply to the 'vKill' packet. At >>> least some versions of GDB crash if the gdb stub simply exits without >>> sending a reply. This patch fixes QEMU's gdb stub to conform to the >>> expected behavior. >>> >>> Note that QEMU's existing handling of the legacy 'k' packet is >>> correct: in that case GDB does not expect a reply, and QEMU does not >>> send one. >>> >>> Signed-off-by: Sandra Loosemore >> >> >> Thanks, applied to target-arm.next. >> >> As an aside, do you know if there is any kind of test suite for >> the remote protocol that implementors of a debug stub can use to >> check that they're conforming to it? > > > Well, I discovered this problem by running the GDB testsuite (using QEMU for nios2-elf target with the other target-specific patches I recently posted). I'm not sure if it's designed to exhaustively test the entire remote protocol, but it does a pretty good job of covering user-visible GDB features that depend on the remote target doing something reasonable, even if it's just saying "Huh? I don't know how to do that." :-) > Debugging using gdb/qemu setups is fairly frequent use case and perhaps we should have a test module for interoperability of gdb and qemu, and also "make check-gdb". Thanks for pinpointing and fixing bugs in this area, Sandra! Aleksandar > -Sandra >
Re: [Qemu-devel] [PATCH] gdbstub: Send a reply to the vKill packet.
On 2/14/19 10:48 AM, Peter Maydell wrote: On Tue, 12 Feb 2019 at 21:52, Sandra Loosemore wrote: Per the GDB remote protocol documentation https://sourceware.org/gdb/current/onlinedocs/gdb/Packets.html#index-vKill-packet the debug stub is expected to send a reply to the 'vKill' packet. At least some versions of GDB crash if the gdb stub simply exits without sending a reply. This patch fixes QEMU's gdb stub to conform to the expected behavior. Note that QEMU's existing handling of the legacy 'k' packet is correct: in that case GDB does not expect a reply, and QEMU does not send one. Signed-off-by: Sandra Loosemore Thanks, applied to target-arm.next. As an aside, do you know if there is any kind of test suite for the remote protocol that implementors of a debug stub can use to check that they're conforming to it? Well, I discovered this problem by running the GDB testsuite (using QEMU for nios2-elf target with the other target-specific patches I recently posted). I'm not sure if it's designed to exhaustively test the entire remote protocol, but it does a pretty good job of covering user-visible GDB features that depend on the remote target doing something reasonable, even if it's just saying "Huh? I don't know how to do that." :-) -Sandra
Re: [Qemu-devel] [PATCH] gdbstub: Send a reply to the vKill packet.
On Tue, 12 Feb 2019 at 21:52, Sandra Loosemore wrote: > > Per the GDB remote protocol documentation > > https://sourceware.org/gdb/current/onlinedocs/gdb/Packets.html#index-vKill-packet > > the debug stub is expected to send a reply to the 'vKill' packet. At > least some versions of GDB crash if the gdb stub simply exits without > sending a reply. This patch fixes QEMU's gdb stub to conform to the > expected behavior. > > Note that QEMU's existing handling of the legacy 'k' packet is > correct: in that case GDB does not expect a reply, and QEMU does not > send one. > > Signed-off-by: Sandra Loosemore Thanks, applied to target-arm.next. As an aside, do you know if there is any kind of test suite for the remote protocol that implementors of a debug stub can use to check that they're conforming to it? -- PMM