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 <aburgess@redhat.com>
"s" \
"S00" \
"T1" \
- "vCont;c" \
"x1234,1" \
"X1234,1:00" \
"z0,0x1234,0" \
if (startswith (own_buf, "vCont;"))
{
- require_running_or_return (own_buf);
handle_v_cont (own_buf);
return;
}