split-include is causing extra recompiles which AFAICT are unnecessary.
This applies to both kbuild 2.4 and 2.5.

Start with mrproper and a minimal .config, in particular
  # CONFIG_DEBUG_KERNEL is not set
and no dependent kernel debug variables appear in .config.

yes '' | make oldconfig dep vmlinux
make vlinux (get kbuild 2.4 steady state)
Edit .config, set CONFIG_DEBUG_KERNEL=y.
yes '' | make oldconfig vmlinux

Lots of objects get recompiled because CONFIG_DEBUG_* variables that
were originally suppressed (CONFIG_DEBUG_KERNEL=n) are now visible
(CONFIG_DEBUG_KERNEL=y), even though all the dependent variables are
set to n.

For suppressed variables, split-include does nothing.  For visible
variables that are set to n, split-include creates the file containing
#undef variable.  Functionally identical processing.  

The problem is the timestamp checks.  They see a new config and treat
it as an update, even though it is functionally identical to a
suppressed variable.  The extra CONFIG_DEBUG_* files trigger recompiles
all over the place, for no good reason.

IMHO, split-include needs to recognise the first time that a variable
is seen (no previous split config file) and the variable is 'n'.  For
this case, split-include should not create the file, i.e. treat it as
if the variable was still suppressed.


_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to