Re: [PATCH 18/28] kbuild: fail kernel compilation in case of unresolved module symbols

Sam Ravnborg
2006-09-24T22:30:20Z

On Sun, Sep 24, 2006 at 11:20:26PM +0100, Al Viro wrote:
> On Sun, Sep 24, 2006 at 11:18:14PM +0200, sam@ravnborg.org wrote:
> > From: Kirill Korotaev <dev@openvz.org>
> >
> > At stage 2 modpost utility is used to check modules. In case of unresolved
> > symbols modpost only prints warning.
> >
> > IMHO it is a good idea to fail compilation process in case of unresolved
> > symbols (at least in modules coming with kernel), since usually such errors
> > are left unnoticed, but kernel modules are broken.
> >
> > - new option '-w' is added to modpost:
> > if option is specified, modpost only warns about unresolved symbols
> >
> > - modpost is called with '-w' for external modules in Makefile.modpost
>
> Oh, joy... Could you add a way to tell kbuild that old behaviour is,
> in fact, desired? make MODPOST_FLAGS=-w or something along these lines...

On what architectures do you see lots of these warnings - maybe fixable?
Otherwise I could do something like this:

diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index 4b2721c..e9efe61 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -58,7 +58,7 @@ quiet_cmd_modpost = MODPOST $(words $(fi
$(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \
$(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \
$(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \
- $(if $(KBUILD_EXTMOD),-w) \
+ $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
$(wildcard vmlinux) $(filter-out FORCE,$^)

PHONY += __modpost

Then:
make KBUILD_MODPOST_WARN=1

would warn and not fail.

Note: I beleive the patch has been in -mm for a while.
Got the patch via akpm

Sam