2004-11-05 Jon Beniston <jon@beniston.com>
* remote.c (putpkt_binary) Fix PR gdb/1806. Send an ACK
when an unexpected packet is received, as the target stubs
continually retransmit the same packet until ACKed.
diff -c -p -r1.152 remote.c
*** remote.c 27 Oct 2004 20:03:50 -0000 1.152
--- remote.c 5 Nov 2004 15:30:34 -0000
*************** putpkt_binary (char *buf, int cnt)
*** 3972,3980 ****
{
if (remote_debug)
fprintf_unfiltered (gdb_stdlog, "Packet instead of Ack,
ignoring it\n");
! /* It's probably an old response, and we're out of sync.
! Just gobble up the packet and ignore it. */
read_frame (junkbuf, sizeof_junkbuf);
continue; /* Now, go look for + */
}
default:
--- 3972,3982 ----
{
if (remote_debug)
fprintf_unfiltered (gdb_stdlog, "Packet instead of Ack,
ignoring it\n");
! /* It's probably an old response sent because an ACK was
lost.
! Gobble up the packet and ack it so it doesn't get
! retransmitted when we resend this packet. */
read_frame (junkbuf, sizeof_junkbuf);
+ serial_write (remote_desc, "+", 1);
continue; /* Now, go look for + */
}
default: