Re: Kconfig no longer outputs a .config with freshly updateddefconfigs

From: Adrian Bunk
Date: Sun Aug 03 2008 - 06:08:55 EST


On Sun, Aug 03, 2008 at 10:00:19AM +0200, Sam Ravnborg wrote:
> On Sat, Aug 02, 2008 at 10:26:47PM +0300, Adrian Bunk wrote:
> > On Sat, Aug 02, 2008 at 12:03:33PM -0400, Josh Boyer wrote:
> > > I was going through the somewhat tedious task of updating the 4xx
> > > defconfigs today, and I noticed some odd behavior from Kconfig.
> > > Basically, I would do:
> > >
> > > make ppc44x_defconfig
> > > make oldconfig
> > > <build>
> > > cp .config arch/powerpc/configs/ppc44x_defconfig
> > > make distclean
> > >
> > > I did this for a number of configs. Then I went back and tried to build
> > > ppc44x_defconfig again and I got this result:
> > >
> > > [jwboyer@localhost linux-2.6]$ make ppc44x_defconfig
> > > HOSTCC scripts/basic/fixdep
> > > HOSTCC scripts/basic/docproc
> > > HOSTCC scripts/kconfig/conf.o
> > > HOSTCC scripts/kconfig/kxgettext.o
> > > SHIPPED scripts/kconfig/zconf.tab.c
> > > SHIPPED scripts/kconfig/lex.zconf.c
> > > SHIPPED scripts/kconfig/zconf.hash.c
> > > HOSTCC scripts/kconfig/zconf.tab.o
> > > scripts/kconfig/lex.zconf.c:1628: warning: âinputâ defined but not used
> > > HOSTLD scripts/kconfig/conf
> > > [jwboyer@localhost linux-2.6]$ make oldconfig
> > > scripts/kconfig/conf -o arch/powerpc/Kconfig
> > > #
> > > # using defaults found in /boot/config-2.6.25.13-104.fc9.ppc64
> > > #
> > >
> > > There was no .config file present after the initial 'make
> > > ppc44x_defconfig', so it defaulted to using something in /boot. I'm a
> > > bit baffled here, but that seems to be common to any newly updated
> > > defconfig I've done.
> > >
> > > Was there a change to Kconfig recently that won't copy the defconfig
> > > file to .config if there are no symbol changes or something like that?
> >
> > Thanks for your bug report, this should have worked.
> >
> > @Sam:
> > I've bisected this and it is caused by
> > commit f443d2eccf077afd8a839cc7ed66cc4d520c5f05
> > (kconfig: speed up all*config + randconfig).
> >
> > Minimal example for reproducing it:
> >
> > make x86_64_defconfig
> > cp .config arch/x86/configs/x86_64_defconfig
> > rm .config
> > make x86_64_defconfig
> > ls .config
>
> Thanks Adrian.
>
> The code has started to check if anything changed
> and if not - then do not write out a new config.
> So in your sample above we would not see any changes
> compared to what we read in autoconf.h so we did nto write
> out a new autoconf.h (and thus no .config).
>
> The right fix seems to check for .config and for changes
> and in both cases to write a new config.
>
> Patch below.

This breaks with:

make ARCH=x86 x86_64_defconfig
cp .config arch/x86/configs/x86_64_defconfig
make ARCH=x86 i386_defconfig
make ARCH=x86 x86_64_defconfig

Why can't we simply always write the .config?

> Sam
>...

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
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/