From 12715d20af9fd9179daca7a1cd2cf3db3c2c494f Mon Sep 17 00:00:00 2001 From: Sam Ravnborg Date: Tue, 8 Aug 2006 20:43:39 +0200 Subject: kbuild: modpost on vmlinux regardless of CONFIG_MODULES Based on patch from: Magnus Damm This has the advantage that all section mismatch checks are run regardless of modules being enabled or not. When running modpost on vmlinux output: MODPOST vmlinux When running modpost on modules output count of modules like this: MODPOST 5 modules Signed-off-by: Sam Ravnborg --- scripts/Makefile.modpost | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'scripts/Makefile.modpost') diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 0a64688c2b5d..9137df2f9290 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -51,19 +51,25 @@ _modpost: $(modules) # Step 2), invoke modpost # Includes step 3,4 -quiet_cmd_modpost = MODPOST +quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules cmd_modpost = scripts/mod/modpost \ $(if $(CONFIG_MODVERSIONS),-m) \ $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,) \ $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ - $(filter-out FORCE,$^) + $(wildcard vmlinux) $(filter-out FORCE,$^) PHONY += __modpost -__modpost: $(wildcard vmlinux) $(modules:.ko=.o) FORCE +__modpost: $(modules:.ko=.o) FORCE $(call cmd,modpost) +quiet_cmd_kernel-mod = MODPOST $@ + cmd_kernel-mod = $(cmd_modpost) + +vmlinux: FORCE + $(call cmd,kernel-mod) + # Declare generated files as targets for modpost $(symverfile): __modpost ; $(modules:.ko=.mod.c): __modpost ; -- cgit v1.2.3 From c53ddacdc08d41f812f1e637d214251d14c07a3d Mon Sep 17 00:00:00 2001 From: Kirill Korotaev Date: Thu, 7 Sep 2006 13:08:54 -0700 Subject: kbuild: fail kernel compilation in case of unresolved module symbols 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 Signed-off-by: Andrey Mirkin Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg --- scripts/Makefile.modpost | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/Makefile.modpost') diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 9137df2f9290..4b2721ca97da 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -58,6 +58,7 @@ quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ + $(if $(KBUILD_EXTMOD),-w) \ $(wildcard vmlinux) $(filter-out FORCE,$^) PHONY += __modpost -- cgit v1.2.3