Date: Thu, 16 Mar 2000 23:50:04 -0800 (PST) From: Ruslan Ermilov <ru@ucb.crimea.ua> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/17422: 4.0-STABLE: top: nlist failed Message-ID: <200003170750.XAA53155@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/17422; it has been noted by GNATS. From: Ruslan Ermilov <ru@ucb.crimea.ua> To: larse@isi.edu Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: kern/17422: 4.0-STABLE: top: nlist failed Date: Fri, 17 Mar 2000 09:44:23 +0200 --GvXjxJ+pjyke8COw Content-Type: text/plain; charset=us-ascii On Thu, Mar 16, 2000 at 07:06:03PM -0800, larse@isi.edu wrote: > > >Number: 17422 > >Category: kern > >Synopsis: 4.0-STABLE: top: nlist failed > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: freebsd-bugs > >State: open > >Quarter: > >Keywords: > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Thu Mar 16 19:10:01 PST 2000 > >Closed-Date: > >Last-Modified: > >Originator: Lars Eggert > >Release: 4.0-STABLE > >Organization: > >Environment: > FreeBSD hbo.isi.edu 4.0-STABLE FreeBSD 4.0-STABLE #16: Thu Mar 16 16:13:45 PST 2000 root@hbo.isi.edu:/usr/src/sys/compile/PRECISION i386 > > >Description: > Got 4.0-STABLE from cvsup, made world and recompiled/installed kernel. > > hbo# top > top: nlist failed > > I tried remaking/installing top and libkvm, no change. > > I have also seen this under 4.0-RELEASE before moving to -STABLE, > but thought it was a quirk because I had not yet compiled a custom > kernel. > >How-To-Repeat: > see above > >Fix: > Could you please try the following patch? -- Ruslan Ermilov Sysadmin and DBA of the ru@ucb.crimea.ua United Commercial Bank, ru@FreeBSD.org FreeBSD committer, +380.652.247.647 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --GvXjxJ+pjyke8COw Content-Type: message/rfc822 Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by relay.ucb.crimea.ua (8.9.3/8.9.3/UCB) with ESMTP id EAA76938 for <ru@ucb.crimea.ua>; Tue, 14 Mar 2000 04:52:39 +0200 (EET) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.8.7/8.8.7) with ESMTP id NAA05065; Tue, 14 Mar 2000 13:58:35 +1100 Date: Tue, 14 Mar 2000 13:51:49 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> X-Sender: bde@alphplex.bde.org To: Ruslan Ermilov <ru@ucb.crimea.ua> cc: Jordan Hubbard <jkh@FreeBSD.org>, committers@FreeBSD.org Subject: Re: [4.0-ERRATA candidate?] loader(8)/kvm(3) interoperability issue In-Reply-To: <20000313194345.A52651@relay.ucb.crimea.ua> Message-ID: <Pine.BSF.4.21.0003141325520.2522-100000@alphplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 13 Mar 2000, Ruslan Ermilov wrote: > One thing that should IMHO be pointed out in the upcoming 4.0-RELEASE's > ERRATA (or some more appropriate place), is the fact that the loader(8) > is now a prerequisite for certain programs using kvm(3) interface. > Obvious examples are top(1) and swapinfo(8). > > If you boot your kernel without loader(8), directly through bootblocks, > these programs will not work. I don't user loader(8), and finally got around to fixing this. The problem is that the kernel linker wants module data for the kernel. It defaults to using incomplete data if none is present. The following supplies slightly less incomplete data: diff -c2 machdep.c~ machdep.c *** machdep.c~ Tue Feb 29 19:18:29 2000 --- machdep.c Mon Mar 6 10:05:52 2000 *************** *** 1809,1812 **** --- 1799,1816 ---- preload_metadata = (caddr_t)bootinfo.bi_modulep + KERNBASE; preload_bootstrap_relocate(KERNBASE); + } else { + static u_int32_t oldmoduledata[] = { + 1, sizeof("kernel"), 0, 0, + 2, sizeof("elf kernel"), 0, 0, 0, + 0x8004, 4, 0, + 0x8003, 4, 0, + 0, 0, + }; + + preload_metadata = (caddr_t)&oldmoduledata[0]; + strcpy((char *)&oldmoduledata[2], "kernel"); + strcpy((char *)&oldmoduledata[6], "elf kernel"); + oldmoduledata[11] = roundup2(bootinfo.bi_esymtab, 4); + oldmoduledata[14] = bootinfo.bi_symtab; } if (bootinfo.bi_envp) Bruce --GvXjxJ+pjyke8COw-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003170750.XAA53155>