From: Alex Bennée <alex.ben...@linaro.org> When starting a remote connection GDB sends an '+':
/* Ack any packet which the remote side has already sent. */ remote_serial_write ("+", 1); which gets flagged as a garbage character in the gdbstub state machine. As gdb does send it out lets be permissive about the handling so we can better see real issues. Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Cc: gdb-patc...@sourceware.org Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-Id: <20230810153640.1879717-9-alex.ben...@linaro.org> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- gdbstub/gdbstub.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 20b6fe03fb..5f28d5cf57 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -2074,6 +2074,11 @@ void gdb_read_byte(uint8_t ch) gdbserver_state.line_buf_index = 0; gdbserver_state.line_sum = 0; gdbserver_state.state = RS_GETLINE; + } else if (ch == '+') { + /* + * do nothing, gdb may preemptively send out ACKs on + * initial connection + */ } else { trace_gdbstub_err_garbage(ch); } -- 2.34.1