Index: sys/gdb/gdb_packet.c =================================================================== --- sys/gdb/gdb_packet.c +++ sys/gdb/gdb_packet.c @@ -315,24 +315,19 @@ runlen--; } } - if (runlen == 1) { + /* Don't emit '$', '#', '+', '-' or a run length below 3. */ + if (runlen == 2 || runlen == 7) { gdb_cur->gdb_putc(c); cksum += c; runlen--; } - if (runlen == 0) - continue; - /* Don't emit '$', '#', '+' or '-'. */ - if (runlen == 7) { - gdb_cur->gdb_putc(c); - cksum += c; - runlen--; - } - if (runlen == 6 || runlen == 14 || runlen == 16) { + if (runlen == 1 || runlen == 6 || runlen == 14 || runlen == 16) { gdb_cur->gdb_putc(c); cksum += c; runlen--; } + if (runlen == 0) + continue; gdb_cur->gdb_putc('*'); cksum += '*'; gdb_cur->gdb_putc(runlen+29);