[binutils-gdb] gdb, testsuite: fix regression in gdb.multi/multi-{exit, kill}.exp
Tankut Baris Aktemur via Gdb-cvs <[email protected]>
| Newsgroups | gmane.comp.gdb.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=971b0152e92d381917bb089b3783959c5feb552e commit 971b0152e92d381917bb089b3783959c5feb552e Author: Tankut Baris Aktemur <[email protected]> Date: Mon Apr 20 09:26:15 2026 +0200 gdb, testsuite: fix regression in gdb.multi/multi-{exit, kill}.exp Commit d19862435df418a2ec78d078048f54d115c67a66 ("gdbserver: require_running_or_break for the 'z' and 'vCont' packets") introduced regressions in gdb.multi/multi-exit.exp and gdb.multi/multi-kill.exp. If the remote target has multiple inferiors and is resumed with schedule-multi on, all processes may terminate, making the target have no threads left. The target reports termination events to GDB. GDB processes the first event and attempts to stop all processes. For this, it sends 'vCont;t' packets to the target. But the patch mentioned above required the target to be in a running state, which is not true anymore. Therefore, target responds with an error. Fix the regression by reverting the 'require_running_or_return' enforcement for vCont. Approved-By: Andrew Burgess <[email protected]> Diff: --- gdb/testsuite/gdb.server/require-running.exp | 1 - gdbserver/server.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/gdb/testsuite/gdb.server/require-running.exp b/gdb/testsuite/gdb.server/require-running.exp index f06ece3496d..179c7ccc1ca 100644 --- a/gdb/testsuite/gdb.server/require-running.exp +++ b/gdb/testsuite/gdb.server/require-running.exp @@ -49,7 +49,6 @@ set packets \ "s" \ "S00" \ "T1" \ - "vCont;c" \ "x1234,1" \ "X1234,1:00" \ "z0,0x1234,0" \ diff --git a/gdbserver/server.cc b/gdbserver/server.cc index ebde831d603..37859f26b7e 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -3575,7 +3575,6 @@ handle_v_requests (char *own_buf, int packet_len, int *new_packet_len) if (startswith (own_buf, "vCont;")) { - require_running_or_return (own_buf); handle_v_cont (own_buf); return; }