summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2020-06-01 14:57:14 +0900
committerMasahiro Yamada <masahiroy@kernel.org>2020-06-06 23:38:12 +0900
commit48a0f72797bdc6b428f951aff265f5aecc2bda49 (patch)
tree02c4b8ae7a9c0ac663f7ed34cc746b536e397f69
parent7e8a3235823bcb779acf92de630edd5ddffaf886 (diff)
downloadlwn-48a0f72797bdc6b428f951aff265f5aecc2bda49.tar.gz
lwn-48a0f72797bdc6b428f951aff265f5aecc2bda49.zip
modpost: show warning if any of symbol dump files is missing
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>
-rw-r--r--Makefile10
-rw-r--r--scripts/Makefile.modpost5
2 files changed, 5 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 9768140f8d5a..ee3ed9dfca2c 100644
--- 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
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index f29a02196b72..e47f87557f09 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -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".