On Tue, 2003-09-30 at 01:51 -0700, David S. Miller wrote:
> So it's OK for modversions to make modules depend upon the main kernel
> image, but it's not OK for ipv6 to do the same exact thing. Is this
> what you're saying?
Not at all. You're talking about something entirely different.
We are not talking about _changing_ the value of $CONFIG_MODVERSIONS.
CONFIG_MODVERSIONS is a boolean option, and of _course_ changing it from
'n' to 'y' should change the core kernel.
Your 'dependency on modversions' is entirely unrelated to any changes in
In the 2.4 kernel you needed to run 'make dep', which had the
side-effect of creating all the version strings which were required to
make any modules.
In the 2.6 kernel, I suspect that these same version strings are now
produced as a side-effect of the 'make vmlinux' stage, and hence that
it's required to 'make vmlinux' before any modules can be built.
This (potential) dependency is entirely unrelated to any _changes_ in
configuration. It would be optimal to be able to build modules _without_
actually having to build the kernel image, but if that dependency exists
due to the current build mechanism, then it would be a bug for 'make
modules' to refrain from also building vmlinux.
It was offered as an example of a case in which your assertion would be
correct; that 'make modules' should also rebuild vmlinux. I'm sorry if
it caused confusion -- I should probably not have followed your
> > If there's no actual dependency on the core kernel image, however, then
> > it should not be rebuilt for 'make modules'. If 'make modules' was
> > equivalent to 'make all' then it should not exist at all.
> I don't see how you can say that modversions can create this module
> dependency upon the kernel image, but ipv6 is not allowed to.
There is no inconsistency. It's very simple:
â configuration option CONFIG_xxx :
Changing CONFIG_xxx from 'n' to 'y' may change the resulting vmlinux.
Changing CONFIG_xxx from 'n' to 'm' should not do so.