Sorry, this broke `target extended-remote' if the stub reports that it isn't controlling any process yet (gdbserver --multi). I missed that there's a return statement in the middle of remote_start_remote, which makes us not send '!' in that case. remote_start_remote: if (rs->buf[0] == 'W' || rs->buf[0] == 'X') { if (args->extended_p) { /* We're connected, but not running. Drop out before we call start_remote. */ target_mark_exited (args->target); return; } Fixed by just sending '!' earlier, like below. Checked in. We should have a test for extended/persistent connections. Let me cook something up. -- Pedro Alves