Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Sep 2000 13:41:52 +0700 (ALMST)
From:      Boris Popov <bp@butya.kz>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        freebsd-arch@FreeBSD.ORG
Subject:   Re: Shared kernel code
Message-ID:  <Pine.BSF.4.10.10009111329070.27558-100000@lion.butya.kz>
In-Reply-To: <Pine.BSF.4.21.0009111610080.646-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 11 Sep 2000, Bruce Evans wrote:

> > 	But there is an interesting question arises - where to put source
> > code for those modules which don't represent any device and may consists
> > from multiple source files ?
> > 
> > 	Historically such files were placed in the kern and libkern
> > directories. But it seems that both aren't suitable for newly added
> > interfaces because of the flat name space. So, my suggestion is to create
> 
> Why not?  I like flat name spaces :-), or at least flat directory trees.

	Looks good for me if each set of files have a prefix. Eg, iconv_*,
mbuf_* (sys/kern as example).

> > 	Basically, sys/libkern also can be moved under lib directory.
> 
> I think libkern as an actual library should be brought back.  I made
> linkern object files normal kernel object files 5 years ago to avoid
> configuration and linkage complications, especially for modules.  I
> think libraries can now be handled reasonably by the kernel linker.
> Use libkern.a (and possibly other libraries) in the usual way for
> static linkage.  This would result in unreferenced objects not being
> linked into the kernel.  Turn libkern.a into a module (libkern.ko)
> to satisfy references from modules that aren't satisfied by the kernel
> proper.  Most modules would depend on libkern.ko.  Use other modules
> containing special purpose objects to avoid bloating libkern.ko.

	Agreed. I think ongoing Peter's work on KLDs will handle it very
well. The only disadvantage is that libkern.ko will load all functions
despite of the fact some of them already compiled statically.

	So, time for
	MODULE_VERSION(libkern, X) and
	MODULE_VERSION(kernel, X) :)

--
Boris Popov
http://www.butya.kz/~bp/



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.10.10009111329070.27558-100000>