Commit 20ff3685 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

modpost: propagate W=1 build option to modpost



"No build warning" is a strong requirement these days, so you must fix
all issues before enabling a new warning flag.

We often add a new warning to W=1 first so that the kbuild test robot
blocks new breakages.

This commit allows modpost to show extra warnings only when W=1
(or KBUILD_EXTRA_WARN=1) is given.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
parent 7f8256ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ modpost-args = \
	$(if $(KBUILD_MODPOST_WARN),-w)							\
	$(if $(KBUILD_NSDEPS),-d $(MODULES_NSDEPS))					\
	$(if $(CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS)$(KBUILD_NSDEPS),-N)	\
	$(if $(findstring 1, $(KBUILD_EXTRA_WARN)),-W)					\
	-o $@

modpost-deps := $(MODPOST)
+6 −1
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ static bool allow_missing_ns_imports;

static bool error_occurred;

static bool extra_warn;

/*
 * Cut off the warnings when there are too many. This typically occurs when
 * vmlinux is missing. ('make modules' without building vmlinux.)
@@ -2199,7 +2201,7 @@ int main(int argc, char **argv)
	LIST_HEAD(dump_lists);
	struct dump_list *dl, *dl2;

	while ((opt = getopt(argc, argv, "ei:mnT:o:awENd:")) != -1) {
	while ((opt = getopt(argc, argv, "ei:mnT:o:aWwENd:")) != -1) {
		switch (opt) {
		case 'e':
			external_module = true;
@@ -2224,6 +2226,9 @@ int main(int argc, char **argv)
		case 'T':
			files_source = optarg;
			break;
		case 'W':
			extra_warn = true;
			break;
		case 'w':
			warn_unresolved = true;
			break;