From owner-p4-projects@FreeBSD.ORG Sat Jun 12 07:38:49 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 572CD16A4D1; Sat, 12 Jun 2004 07:38:49 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3249E16A4CE for ; Sat, 12 Jun 2004 07:38:49 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 15DF743D45 for ; Sat, 12 Jun 2004 07:38:49 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i5C7cldH099314 for ; Sat, 12 Jun 2004 07:38:47 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i5C7ckss099311 for perforce@freebsd.org; Sat, 12 Jun 2004 07:38:46 GMT (envelope-from marcel@freebsd.org) Date: Sat, 12 Jun 2004 07:38:46 GMT Message-Id: <200406120738.i5C7ckss099311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 54707 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Jun 2004 07:38:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=54707 Change 54707 by marcel@marcel_nfs on 2004/06/12 07:38:15 o Fix "info thread" by declaring the iterator as static. o Print received packets when the verbose level > 1. o In gdb_packet() and gdb_packet_data() return whether to quit. Affected files ... .. //depot/projects/gdb/usr.bin/kgdb/packet.c#5 edit Differences ... ==== //depot/projects/gdb/usr.bin/kgdb/packet.c#5 (text+ko) ==== @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -55,13 +56,13 @@ 10 + (((c) < 'a') ? (c) - 'A' : (c) - 'a')) #define N2C(n) (((n) < 10) ? (n) + '0' : (n) + 'a' - 10) -static void +static int gdb_packet(void) { - struct kthr *thr_iter; + static struct kthr *thr_iter = NULL; - thr_iter = NULL; - printf("GDB: got '%s'\n", gdb_rxp); + if (verbose > 1) + warnx("gdb_packet: '%s'", gdb_rxp); switch (gdb_rx_char()) { case '?': /* Last signal. */ gdb_tx_begin('S'); @@ -95,6 +96,8 @@ gdb_tx_ok(); break; } + case 'k': /* Kill request. */ + return (1); case 'm': { /* Read memory. */ uintmax_t addr, size; if (gdb_rx_varhex(&addr) || gdb_rx_char() != ',' || @@ -161,16 +164,19 @@ gdb_tx_empty(); break; } + return (0); } /* * Functions to receive and extract from a packet. */ -void +int gdb_packet_data(const char *buf, size_t sz) { + int ret; + ret = 0; switch (gdb_rxstate) { case 0: /* Hunt mode: looking for new packet. */ while (sz > 0 && *buf != '$') { @@ -178,7 +184,7 @@ sz--; } if (sz == 0) - return; + return (0); gdb_rxsz = 0; gdb_rxsum = 0; gdb_rxstate++; @@ -194,7 +200,7 @@ sz--; } if (sz == 0) - return; + return (0); gdb_rxbuf[gdb_rxsz] = 0; gdb_rxsum &= 0xff; gdb_rxstate++; @@ -203,7 +209,7 @@ /* FALLTHROUGH */ case 2: /* First checksum. */ if (sz == 0) - return; + return (0); gdb_rxsum -= (C2N(*buf) << 4) & 0xf0; gdb_rxstate++; buf++; @@ -211,12 +217,12 @@ /* FALLTHROUGH */ case 3: /* Second checksum. */ if (sz == 0) - return; + return (0); gdb_rxsum -= (C2N(*buf)) & 0x0f; if (gdb_rxsum == 0) { gdb_packet_send("+", 1); gdb_rxp = gdb_rxbuf; - gdb_packet(); + ret = gdb_packet(); } else gdb_packet_send("-", 1); gdb_rxstate = 0; @@ -224,6 +230,8 @@ default: assert(0); } + + return (ret); } int