From owner-p4-projects@FreeBSD.ORG Sat Jun 12 07:47:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82AAB16A4D1; Sat, 12 Jun 2004 07:47:30 +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 5A2CF16A4CE for ; Sat, 12 Jun 2004 07:47:30 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 473EB43D49 for ; Sat, 12 Jun 2004 07:47:30 +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 i5C7l4c9001549 for ; Sat, 12 Jun 2004 07:47:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i5C7l4Sd001546 for perforce@freebsd.org; Sat, 12 Jun 2004 07:47:04 GMT (envelope-from marcel@freebsd.org) Date: Sat, 12 Jun 2004 07:47:04 GMT Message-Id: <200406120747.i5C7l4Sd001546@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 54710 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:47:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=54710 Change 54710 by marcel@marcel_nfs on 2004/06/12 07:46:55 o Instruct gdb(1) to load the kernel image. That way it has all the debug information it needs, including the symbols. o Exit the main loop when gdb_packet_dat() tells us to. Affected files ... .. //depot/projects/gdb/usr.bin/kgdb/main.c#10 edit Differences ... ==== //depot/projects/gdb/usr.bin/kgdb/main.c#10 (text+ko) ==== @@ -192,7 +192,7 @@ ssize_t sz; int fdin, fdout; int f, nfds, status; - int ch; + int ch, done; dumpnr = -1; @@ -274,6 +274,10 @@ if (write(cmdfile_fd, cmd_set_prompt, sizeof(cmd_set_prompt) - 1) < 0) err(1, "write(2)"); + sz = snprintf(buf, sizeof(buf), "file %s\n", kernel); + if (write(cmdfile_fd, buf, sz) < 0) + err(1, "write(2)"); + if (openpty(&gdb_rp_fd, &f, buf, NULL, NULL) == -1) err(1, "openpty(3)"); close(f); @@ -311,7 +315,8 @@ nfds = (gdb_rp_fd > nfds) ? gdb_rp_fd : nfds; nfds++; - while (1) { + done = 0; + while (!done) { FD_ZERO(&rfds); FD_ZERO(&wfds); FD_ZERO(&xfds); @@ -340,7 +345,7 @@ if (FD_ISSET(gdb_rp_fd, &rfds)) { sz = read(gdb_rp_fd, buf, sizeof(buf)); if (sz > 0) - gdb_packet_data(buf, sz); + done = gdb_packet_data(buf, sz); } }