aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorMatej Kupljen <matej.kupljen@gmail.com>2015-02-11 09:28:41 +0100
committerPaul Fertser <fercerpav@gmail.com>2015-02-22 16:16:06 +0000
commit750f8cd0c56baed8b27be415bcff9effa59c48e3 (patch)
tree5b562e3af73bd94f0aad1a5af447726dd978335f /src/server
parentdb83fb307b56a0149bcab807593a12a2cff93286 (diff)
gdb_server: ignore stray + in ACK mode
I couldn't make OpenOCD to work with GDB. I was always getting this in GDB: (gdb) target remote localhost:3333 Remote debugging using localhost:3333 Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Malformed response to offset query, timeout (gdb) While debugging gdb remote protocol, I have seen that gdb responds with: w ++$?#3f And those two '+' seems to confuse the OpenOCD parser, if it sees another '+' sign it emits the DEBUG output and sets the noack_mode to 2. The problem is that we weren't even IN noack mode, this was set to 0 and then it explicitly sets it to 2 and thus turning the noack mode on. Change-Id: If267c9226e57fa83121ded09cf69829f8f0b4b93 Signed-off-by: Matej Kupljen <matej.kupljen@gmail.com> Reviewed-on: http://openocd.zylin.com/2545 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src/server')
-rw-r--r--src/server/gdb_server.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 152a06c7..4a33a302 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -628,7 +628,7 @@ static int gdb_get_packet_inner(struct connection *connection,
* warning only about subsequent ACK's. */
if (gdb_con->noack_mode > 1) {
LOG_WARNING("acknowledgment received, but no packet pending");
- } else {
+ } else if (gdb_con->noack_mode) {
LOG_DEBUG("Received first acknowledgment after entering noack mode. Ignoring it.");
gdb_con->noack_mode = 2;
}