modpost: show warning if any of symbol dump files is missing
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 1 Jun 2020 05:57:14 +0000 (14:57 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 6 Jun 2020 14:38:12 +0000 (23:38 +0900)
If modpost fails to load a symbol dump file, it cannot check unresolved
symbols, hence module dependency will not be added. Nor CRCs can be added.

Currently, external module builds check only $(objtree)/Module.symvers,
but it should check files specified by KBUILD_EXTRA_SYMBOLS as well.

Move the warning message from the top Makefile to scripts/Makefile.modpost
and print the warning if any dump file is missing.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile
scripts/Makefile.modpost

index 9768140f8d5ad3a2b7b87da4ddfd1876bda471a3..ee3ed9dfca2c36c6c7915a4bf15768f8da906bb8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1649,17 +1649,9 @@ else # KBUILD_EXTMOD
 # We are always building modules
 KBUILD_MODULES := 1
 
-PHONY += $(objtree)/Module.symvers
-$(objtree)/Module.symvers:
-       @test -e $(objtree)/Module.symvers || ( \
-       echo; \
-       echo "  WARNING: Symbol version dump $(objtree)/Module.symvers"; \
-       echo "           is missing; modules will have no dependencies and modversions."; \
-       echo )
-
 build-dirs := $(KBUILD_EXTMOD)
 PHONY += modules
-modules: descend $(objtree)/Module.symvers
+modules: descend
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
 
 PHONY += modules_install
index f29a02196b7261cd6b332c4d70118abcccdc74b7..e47f87557f09bac43b468bbf0467cb0326b382d9 100644 (file)
@@ -98,8 +98,11 @@ ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),)
 MODPOST += -n
 endif
 
+# Clear VPATH to not search for *.symvers in $(srctree). Check only $(objtree).
+VPATH :=
 $(input-symdump):
-       @:
+       @echo >&2 'WARNING: Symbol version dump "$@" is missing.'
+       @echo >&2 '         Modules may not have dependencies or modversions.'
 
 # Read out modules.order to pass in modpost.
 # Otherwise, allmodconfig would fail with "Argument list too long".