diff mbox series

[PULL,27/27] gdbstub: Send a reply to the vKill packet.

Message ID 20190214190603.25030-28-peter.maydell@linaro.org
State Accepted
Commit 0f8b09b22234460cb5b8766a25066cf6b5f06842
Headers show
Series target-arm queue | expand

Commit Message

Peter Maydell Feb. 14, 2019, 7:06 p.m. UTC
From: Sandra Loosemore <sandra@codesourcery.com>


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 <sandra@codesourcery.com>

Message-id: 1550008033-26540-1-git-send-email-sandra@codesourcery.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 gdbstub.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.20.1
diff mbox series

Patch

diff --git a/gdbstub.c b/gdbstub.c
index ff19579452d..bc774ae9925 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1361,6 +1361,7 @@  static int gdb_handle_packet(GDBState *s, const char *line_buf)
             break;
         } else if (strncmp(p, "Kill;", 5) == 0) {
             /* Kill the target */
+            put_packet(s, "OK");
             error_report("QEMU: Terminated via GDBstub");
             exit(0);
         } else {