2002-06-07 01:49:02

by Kevin P. Fleming

[permalink] [raw]
Subject: kbuild-2.5 on 2.4.19-pre10-ac2 build error when modular support turned off

I had a kernel built and working fine with module support turned on, only a
single driver (ide-floppy) compiled as a module. I then did "make -f
Makefile-2.5 menuconfig" and turned off loadable module support, kmod and
double-checked that ide-floppy changed to built-in (it did).

I then did "make -f Makefile-2.5 -j2 installable", and kbuild rebuilt very
little, and the final link died with failed references to "request_module".
It appears that kbuild did not rebuild the entire kernel, even though would
have been necessary.

Did I miss something?


2002-06-07 03:03:46

by Keith Owens

[permalink] [raw]
Subject: Re: kbuild-2.5 on 2.4.19-pre10-ac2 build error when modular support turned off

On Thu, 6 Jun 2002 18:48:53 -0700,
"Kevin P. Fleming" <[email protected]> wrote:
>I had a kernel built and working fine with module support turned on, only a
>single driver (ide-floppy) compiled as a module. I then did "make -f
>Makefile-2.5 menuconfig" and turned off loadable module support, kmod and
>double-checked that ide-floppy changed to built-in (it did).
>
>I then did "make -f Makefile-2.5 -j2 installable", and kbuild rebuilt very
>little, and the final link died with failed references to "request_module".
>It appears that kbuild did not rebuild the entire kernel, even though would
>have been necessary.

It is a bug in standardizing dependency names when using common source
and object trees, I will correct it and roll core-18 this afternoon.
Separate source and object work fine for this case.

2002-06-07 04:22:17

by Keith Owens

[permalink] [raw]
Subject: Re: kbuild-2.5 on 2.4.19-pre10-ac2 build error when modular support turned off

On Thu, 6 Jun 2002 18:48:53 -0700,
"Kevin P. Fleming" <[email protected]> wrote:
>I had a kernel built and working fine with module support turned on, only a
>single driver (ide-floppy) compiled as a module. I then did "make -f
>Makefile-2.5 menuconfig" and turned off loadable module support, kmod and
>double-checked that ide-floppy changed to built-in (it did).
>
>I then did "make -f Makefile-2.5 -j2 installable", and kbuild rebuilt very
>little, and the final link died with failed references to "request_module".
>It appears that kbuild did not rebuild the entire kernel, even though would
>have been necessary.

Missing case for common source/object. Since the bug will have
resulted in an incomplete database, bump the version number to ensure
that any existing kbuild database is deleted and rebuilt correctly.
This fix will be in core-18.

diff -ur 2.5.20-kbuild-2.5/scripts/pp_db.h 2.5.20-kbuild-2.5.new/scripts/pp_db.h
--- 2.5.20-kbuild-2.5/scripts/pp_db.h Fri Jun 7 14:17:45 2002
+++ 2.5.20-kbuild-2.5.new/scripts/pp_db.h Fri Jun 7 14:11:58 2002
@@ -19,7 +19,7 @@
* for migrating a kbuild database from one version to another, rebuild the
* database from scratch.
*/
-#define DB_VERSION 8
+#define DB_VERSION 9

typedef struct ppdb PPDB;
typedef struct db_token DB_TOKEN;
diff -ur 2.5.20-kbuild-2.5/scripts/pp_makefile5.c 2.5.20-kbuild-2.5.new/scripts/pp_makefile5.c
--- 2.5.20-kbuild-2.5/scripts/pp_makefile5.c Fri Jun 7 14:17:45 2002
+++ 2.5.20-kbuild-2.5.new/scripts/pp_makefile5.c Fri Jun 7 14:10:56 2002
@@ -991,6 +991,8 @@
} else if (common_src_obj && *index == objtree_treename_index) {
s = read_db_source(db, token);
*index = s->index;
+ } else if (common_src_obj && *index == -1) {
+ *index = 0;
}
}