Re: RFC: [2.6 patch] disallow modular IPv6

From: Sam Ravnborg
Date: Tue Sep 30 2003 - 06:39:56 EST


On Tue, Sep 30, 2003 at 11:02:49AM +0100, David Woodhouse wrote:
> On Tue, 2003-09-30 at 02:24 -0700, David S. Miller wrote:
> > I think they are the same. It's module building depending upon the
> > kernel image being up to date.
> >
> > modules: vmlinux image
> > ... blah blah blah
> >
> > or however you want to express it in the makefiles.
>
> In the case of modversions, we are talking about the fact that it may be
> physically _impossible_ to build a module referencing an in-kernel
> symbol, if the checksum required for that symbol -- the 'version string'
> -- is not yet calculated. If the version strings are generated as a
> side-effect of compiling the files which actually export the symbols in
> question, then it's necessary to do that before building any module
> which attempts to use those symbols.
The version strings are made from info obtained from vmlinux and the *.o
files.
So vmlinux is a prerequisite to calculate the version string.
And to get vmlinux you need to build the kernel.
And the build system will check all dependencies when it needs vmlinux.

> Note that it's not actually necessary to provide a vmlinux file, nor to
> do any linking. It's only necessary to perform those steps which produce
> the version strings for those symbols actually referenced by the modules
> which are being built.

Which require vmlinux and other module.o files.

> That is the requirement for correctness from the makefiles; nothing
> more. Of course it's usually considered acceptable for the makefiles to
> recompile _more_ than is necessary

I would like to know if there exists any cases where _more_ (or less)
is being build.
Mostly I consider it a bug in such case, but there are a few corner cases.

[Only commenting on the kbuild side of things - I'm not trying to be
involved in the other part of the discussion ;-)]

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/