Date: Wed, 28 Feb 2001 18:48:49 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Michael Sinz <msinz@wgate.com> Cc: "Duane H. Hesser" <dhh@androcles.com>, Randell Jesup <rjesup@wgate.com>, "(Bruce Bauman)" <bbauman@wgate.com>, Alfred Perlstein <bright@wintelcom.net>, arch@FreeBSD.ORG Subject: Re: ELF and diskless boot Message-ID: <Pine.BSF.4.21.0102281753170.1204-100000@besplex.bde.org> In-Reply-To: <3A9C231D.EA12570A@wgate.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 27 Feb 2001, Michael Sinz wrote: > > 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 wrote] > > 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: > > [...] > > Note that the "using incomplete data" is not really correct. It uses > complete data -- the dynamic section, aka the publicly defined symbols. > The problem is that FreeBSD requires the debug symbols. It's the module data that is incomplete. My hack doesn't completely fix this. It only supplies enough data for the kernel linker to see all the sections that have been loaded. No debugging symbols are required, only some static ones. This is because utilities require almost all symbols to be visible so that they can be hacked on via kmem (if the kmem hack is used at all). The publicness of symbols via the kmem hack has very little to do with their publicness (external linkage) as C symbols or how the symbol table is organized. It just happens that a.out format made access to all symbols equally easy. ELF raised the bar, and nonstandard loaders still haven't all jumped it. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0102281753170.1204-100000>