Skip site navigation (1)Skip section navigation (2)
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>