gdb_server: ignore stray + in ACK mode
commit750f8cd0c56baed8b27be415bcff9effa59c48e3
authorMatej Kupljen <matej.kupljen@gmail.com>
Wed, 11 Feb 2015 08:28:41 +0000 (11 09:28 +0100)
committerPaul Fertser <fercerpav@gmail.com>
Sun, 22 Feb 2015 16:16:06 +0000 (22 16:16 +0000)
tree5b562e3af73bd94f0aad1a5af447726dd978335f
parentdb83fb307b56a0149bcab807593a12a2cff93286
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>
src/server/gdb_server.c