svn commit: r180431 - in head/sys: kern sys

John Baldwin jhb at freebsd.org
Fri Jul 11 00:57:19 UTC 2008


On Thursday 10 July 2008 07:37:21 pm David O'Brien wrote:
> On Thu, Jul 10, 2008 at 10:35:35AM -0700, Peter Wemm wrote:
> > On Thu, Jul 10, 2008 at 9:35 AM, David E. O'Brien <obrien at freebsd.org> 
wrote:
> > > Author: obrien
> > > Date: Thu Jul 10 16:35:57 2008
> > > New Revision: 180431
> > > URL: http://svn.freebsd.org/changeset/base/180431
> > >
> > > Log:
> > >  Allow 'elf_file_t' to be used in a wider scope.
> > >
> > > Modified:
> > >  head/sys/kern/link_elf.c
> > >  head/sys/sys/link_elf.h
> > 
> > This really was intentional.  elf_file_t was supposed to be opaque and
> > changeable.  What do you need this for?
> 
> Juniper needs to be able to call functions in the loadable modules before
> the modules are actually linked into the kernel. This will be used to
> call platform specific initialization functions early in the bootup
> process.  Will also need un-static link_elf_preload_parse_symbols,
> parse_dynamic, symbol_name, link_elf_lookup_symbol,
> link_elf_symbol_values.

Might a better approach be to fix the loader to do the link instead of the 
kernel so that modules loaded via the loader are available from the very 
start of boot.  As it is, it seems that this would be a very fragile thing to 
do (what happens if your platform routines call any other routines that 
aren't already in the module (like printf) that need to have their symbols 
resolved?).

-- 
John Baldwin


More information about the cvs-src mailing list