qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 14/16] gdbstub: gdb_set_stop_cpu: ignore requ


From: Alistair
Subject: Re: [Qemu-devel] [PATCH v3 14/16] gdbstub: gdb_set_stop_cpu: ignore request when process is not attached
Date: Wed, 31 Oct 2018 16:50:22 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1



On 10/26/18 1:16 AM, Luc Michel wrote:
When gdb_set_stop_cpu() is called with a CPU associated to a process
currently not attached by the GDB client, return without modifying the
stop CPU. Otherwise, GDB get confused if it receives packets with a

s/get/gets/g

Acked-by: Alistair Francis <address@hidden>

Alistair

thread-id it does not know about.

Signed-off-by: Luc Michel <address@hidden>
---
  gdbstub.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/gdbstub.c b/gdbstub.c
index b3461eff9e..09480df2bf 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1784,10 +1784,19 @@ static int gdb_handle_packet(GDBState *s, const char 
*line_buf)
      return RS_IDLE;
  }
void gdb_set_stop_cpu(CPUState *cpu)
  {
+    GDBProcess *p = gdb_get_cpu_process(gdbserver_state, cpu);
+
+    if (!p->attached) {
+        /* Having a stop CPU corresponding to a process that is not attached
+         * confuses GDB. So we ignore the request.
+         */
+        return;
+    }
+
      gdbserver_state->c_cpu = cpu;
      gdbserver_state->g_cpu = cpu;
  }
#ifndef CONFIG_USER_ONLY




reply via email to

[Prev in Thread] Current Thread [Next in Thread]