From: Stephen Rothwell on
Hi Michal,

On Mon, 8 Mar 2010 12:20:22 +0100 Michal Marek <mmarek(a)suse.cz> wrote:
>
> Only regenerate it if the configuration has changed. Also, do this after
> the modules build to fix errors with some weird Makefiles that are
> generated during build.

This breaks a "make modules modules_install" type build:

$ rm -rf ../ntest.obj ../lib
$ mkdir ../ntest.obj ../lib
$ echo CONFIG_MODULES=y >../ntest.conf
$ KCONFIG_ALLCONFIG=../ntest.conf make O=../ntest.obj allnoconfig
.
.
$ make O=../ntest.obj INSTALL_MOD_PATH=../ -s modules modules_install
cp: cannot stat `/home/sfr/kernels/ntest.obj/modules.builtin': No such file or directory

reverting that patch allows that build to work again.

Unfortunately, this breaks our test system which like to do

make zImage
make modules
make modules_install

The last step fails :-(
--
Cheers,
Stephen Rothwell sfr(a)canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
From: Michal Marek on
Hi Stephen,

On Thu, Mar 11, 2010 at 04:03:26PM +1100, Stephen Rothwell wrote:
> This breaks a "make modules modules_install" type build:
[...]
> $ make O=../ntest.obj INSTALL_MOD_PATH=../ -s modules modules_install
> cp: cannot stat `/home/sfr/kernels/ntest.obj/modules.builtin': No such file or directory

Andrew reported this yesterday, too. The followin patch should fix it
(added to the for-next branch):

From 73d1393eb8507ed5fd7f8e696f6b1ecc18035ebe Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek(a)suse.cz>
Date: Wed, 10 Mar 2010 12:28:58 +0100
Subject: [PATCH] kbuild: Generate modules.builtin in make modules_install

The previous approach didn't work if one did
make modules && make modules_install
Add modules.builtin as dependency of _modinst_, which is the target that
actually needs the file.

Reported-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Michal Marek <mmarek(a)suse.cz>
---
Makefile | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 160cada..b98943a 100644
--- a/Makefile
+++ b/Makefile
@@ -1086,7 +1086,7 @@ ifdef CONFIG_MODULES

# By default, build modules as well

-all: modules modules.builtin
+all: modules

# Build modules
#
@@ -1104,7 +1104,7 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
$(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin

-%/modules.builtin: include/config/auto.conf | modules
+%/modules.builtin: include/config/auto.conf
$(Q)$(MAKE) $(modbuiltin)=$*


@@ -1117,7 +1117,7 @@ PHONY += modules_install
modules_install: _modinst_ _modinst_post

PHONY += _modinst_
-_modinst_:
+_modinst_: modules.builtin
@if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
echo "Warning: you may need to install module-init-tools"; \
echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt";\
--
1.6.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Stephen Rothwell on
Hi Michal,

On Thu, 11 Mar 2010 09:12:46 +0100 Michal Marek <mmarek(a)suse.cz> wrote:
>
> On Thu, Mar 11, 2010 at 04:03:26PM +1100, Stephen Rothwell wrote:
> > This breaks a "make modules modules_install" type build:
> [...]
> > $ make O=../ntest.obj INSTALL_MOD_PATH=../ -s modules modules_install
> > cp: cannot stat `/home/sfr/kernels/ntest.obj/modules.builtin': No such file or directory
>
> Andrew reported this yesterday, too. The followin patch should fix it
> (added to the for-next branch):

Great, thanks.

--
Cheers,
Stephen Rothwell sfr(a)canb.auug.org.au
http://www.canb.auug.org.au/~sfr/