The reason kgdb wasn't working all this time on amd64 is that GETC() returns -1 immediately whether or not a character is available => all of kgdb's checksums fail due to the extra "-1" characters.
A quick revert of RCS file: /cvsroot/src/sys/dev/ic/com.c,v ---------------------------- revision 1.322 date: 2013-12-22 18:20:46 +0000; author: matt; state: Exp; lines: +7 -5; commitid: T4pi7xZzU6djP9ix; Now that cngetc supports -1 as a return value from the cn_getc routine, let cngetc loop until a character is available so it can call the critpoll hooks. ---------------------------- gets something vaguely sensible: Packet qSupported (supported-packets) is NOT supported Sending packet: $Hg0#df...Ack Packet received: Sending packet: $qTStatus#49...Ack Packet received: Packet qTStatus (trace-status) is NOT supported Sending packet: $?#3f...Ack Packet received: S05 Sending packet: $Hc-1#09...Ack Packet received: Sending packet: $qC#b4...Ack Packet received: Sending packet: $qAttached#8f...Ack Packet received: => counts as "analyzed", so a fix is in sight... Cheers, Patrick