diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Kbuild.include | 8 | ||||
-rw-r--r-- | scripts/Kconfig.include | 8 | ||||
-rw-r--r-- | scripts/Makefile.extrawarn | 25 | ||||
-rw-r--r-- | scripts/Makefile.host | 12 | ||||
-rw-r--r-- | scripts/Makefile.lib | 26 | ||||
-rw-r--r-- | scripts/dtc/Makefile | 6 | ||||
-rw-r--r-- | scripts/genksyms/Makefile | 4 | ||||
-rw-r--r-- | scripts/kconfig/Makefile | 8 | ||||
-rw-r--r-- | scripts/kconfig/confdata.c | 13 | ||||
-rwxr-xr-x | scripts/modules-check.sh | 16 |
10 files changed, 70 insertions, 56 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 7484b9d8272f..a675ce11a573 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include | |||
@@ -192,14 +192,6 @@ clean := -f $(srctree)/scripts/Makefile.clean obj | |||
192 | # $(Q)$(MAKE) $(hdr-inst)=dir | 192 | # $(Q)$(MAKE) $(hdr-inst)=dir |
193 | hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj | 193 | hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj |
194 | 194 | ||
195 | # Prefix -I with $(srctree) if it is not an absolute path. | ||
196 | # skip if -I has no parameter | ||
197 | addtree = $(if $(patsubst -I%,%,$(1)), \ | ||
198 | $(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)),$(1)) | ||
199 | |||
200 | # Find all -I options and call addtree | ||
201 | flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) | ||
202 | |||
203 | # echo command. | 195 | # echo command. |
204 | # Short version is used, if $(quiet) equals `quiet_', otherwise full one. | 196 | # Short version is used, if $(quiet) equals `quiet_', otherwise full one. |
205 | echo-cmd = $(if $($(quiet)cmd_$(1)),\ | 197 | echo-cmd = $(if $($(quiet)cmd_$(1)),\ |
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include index 87ff1dcc6bd5..0b267fb27f07 100644 --- a/scripts/Kconfig.include +++ b/scripts/Kconfig.include | |||
@@ -18,6 +18,10 @@ if-success = $(shell,{ $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)") | |||
18 | # Return y if <command> exits with 0, n otherwise | 18 | # Return y if <command> exits with 0, n otherwise |
19 | success = $(if-success,$(1),y,n) | 19 | success = $(if-success,$(1),y,n) |
20 | 20 | ||
21 | # $(failure,<command>) | ||
22 | # Return n if <command> exits with 0, y otherwise | ||
23 | failure = $(if-success,$(1),n,y) | ||
24 | |||
21 | # $(cc-option,<flag>) | 25 | # $(cc-option,<flag>) |
22 | # Return y if the compiler supports <flag>, n otherwise | 26 | # Return y if the compiler supports <flag>, n otherwise |
23 | cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) | 27 | cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) |
@@ -26,5 +30,9 @@ cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) | |||
26 | # Return y if the linker supports <flag>, n otherwise | 30 | # Return y if the linker supports <flag>, n otherwise |
27 | ld-option = $(success,$(LD) -v $(1)) | 31 | ld-option = $(success,$(LD) -v $(1)) |
28 | 32 | ||
33 | # check if $(CC) and $(LD) exist | ||
34 | $(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found) | ||
35 | $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found) | ||
36 | |||
29 | # gcc version including patch level | 37 | # gcc version including patch level |
30 | gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) | 38 | gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) |
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index 768306add591..3ab8d1a303cd 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn | |||
@@ -23,15 +23,16 @@ warning- := $(empty) | |||
23 | warning-1 := -Wextra -Wunused -Wno-unused-parameter | 23 | warning-1 := -Wextra -Wunused -Wno-unused-parameter |
24 | warning-1 += -Wmissing-declarations | 24 | warning-1 += -Wmissing-declarations |
25 | warning-1 += -Wmissing-format-attribute | 25 | warning-1 += -Wmissing-format-attribute |
26 | warning-1 += $(call cc-option, -Wmissing-prototypes) | 26 | warning-1 += -Wmissing-prototypes |
27 | warning-1 += -Wold-style-definition | 27 | warning-1 += -Wold-style-definition |
28 | warning-1 += $(call cc-option, -Wmissing-include-dirs) | 28 | warning-1 += -Wmissing-include-dirs |
29 | warning-1 += $(call cc-option, -Wunused-but-set-variable) | 29 | warning-1 += $(call cc-option, -Wunused-but-set-variable) |
30 | warning-1 += $(call cc-option, -Wunused-const-variable) | 30 | warning-1 += $(call cc-option, -Wunused-const-variable) |
31 | warning-1 += $(call cc-option, -Wpacked-not-aligned) | 31 | warning-1 += $(call cc-option, -Wpacked-not-aligned) |
32 | warning-1 += $(call cc-option, -Wstringop-truncation) | 32 | warning-1 += $(call cc-option, -Wstringop-truncation) |
33 | warning-1 += $(call cc-disable-warning, missing-field-initializers) | 33 | # The following turn off the warnings enabled by -Wextra |
34 | warning-1 += $(call cc-disable-warning, sign-compare) | 34 | warning-1 += -Wno-missing-field-initializers |
35 | warning-1 += -Wno-sign-compare | ||
35 | 36 | ||
36 | warning-2 := -Waggregate-return | 37 | warning-2 := -Waggregate-return |
37 | warning-2 += -Wcast-align | 38 | warning-2 += -Wcast-align |
@@ -39,8 +40,8 @@ warning-2 += -Wdisabled-optimization | |||
39 | warning-2 += -Wnested-externs | 40 | warning-2 += -Wnested-externs |
40 | warning-2 += -Wshadow | 41 | warning-2 += -Wshadow |
41 | warning-2 += $(call cc-option, -Wlogical-op) | 42 | warning-2 += $(call cc-option, -Wlogical-op) |
42 | warning-2 += $(call cc-option, -Wmissing-field-initializers) | 43 | warning-2 += -Wmissing-field-initializers |
43 | warning-2 += $(call cc-option, -Wsign-compare) | 44 | warning-2 += -Wsign-compare |
44 | warning-2 += $(call cc-option, -Wmaybe-uninitialized) | 45 | warning-2 += $(call cc-option, -Wmaybe-uninitialized) |
45 | warning-2 += $(call cc-option, -Wunused-macros) | 46 | warning-2 += $(call cc-option, -Wunused-macros) |
46 | 47 | ||
@@ -66,11 +67,11 @@ KBUILD_CFLAGS += $(warning) | |||
66 | else | 67 | else |
67 | 68 | ||
68 | ifdef CONFIG_CC_IS_CLANG | 69 | ifdef CONFIG_CC_IS_CLANG |
69 | KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) | 70 | KBUILD_CFLAGS += -Wno-initializer-overrides |
70 | KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) | 71 | KBUILD_CFLAGS += -Wno-unused-value |
71 | KBUILD_CFLAGS += $(call cc-disable-warning, format) | 72 | KBUILD_CFLAGS += -Wno-format |
72 | KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) | 73 | KBUILD_CFLAGS += -Wno-sign-compare |
73 | KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) | 74 | KBUILD_CFLAGS += -Wno-format-zero-length |
74 | KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized) | 75 | KBUILD_CFLAGS += -Wno-uninitialized |
75 | endif | 76 | endif |
76 | endif | 77 | endif |
diff --git a/scripts/Makefile.host b/scripts/Makefile.host index 73b804197fca..b6a54bdf0965 100644 --- a/scripts/Makefile.host +++ b/scripts/Makefile.host | |||
@@ -67,18 +67,16 @@ _hostc_flags = $(KBUILD_HOSTCFLAGS) $(HOST_EXTRACFLAGS) \ | |||
67 | _hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \ | 67 | _hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \ |
68 | $(HOSTCXXFLAGS_$(basetarget).o) | 68 | $(HOSTCXXFLAGS_$(basetarget).o) |
69 | 69 | ||
70 | __hostc_flags = $(_hostc_flags) | 70 | # $(objtree)/$(obj) for including generated headers from checkin source files |
71 | __hostcxx_flags = $(_hostcxx_flags) | ||
72 | |||
73 | ifeq ($(KBUILD_EXTMOD),) | 71 | ifeq ($(KBUILD_EXTMOD),) |
74 | ifneq ($(srctree),.) | 72 | ifneq ($(srctree),.) |
75 | __hostc_flags = -I$(obj) $(call flags,_hostc_flags) | 73 | _hostc_flags += -I $(objtree)/$(obj) |
76 | __hostcxx_flags = -I$(obj) $(call flags,_hostcxx_flags) | 74 | _hostcxx_flags += -I $(objtree)/$(obj) |
77 | endif | 75 | endif |
78 | endif | 76 | endif |
79 | 77 | ||
80 | hostc_flags = -Wp,-MD,$(depfile) $(__hostc_flags) | 78 | hostc_flags = -Wp,-MD,$(depfile) $(_hostc_flags) |
81 | hostcxx_flags = -Wp,-MD,$(depfile) $(__hostcxx_flags) | 79 | hostcxx_flags = -Wp,-MD,$(depfile) $(_hostcxx_flags) |
82 | 80 | ||
83 | ##### | 81 | ##### |
84 | # Compile programs on the host | 82 | # Compile programs on the host |
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 41e98fa66b91..1b412d4394ae 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
@@ -137,36 +137,26 @@ _c_flags += $(if $(patsubst n%,, \ | |||
137 | $(CFLAGS_KCOV)) | 137 | $(CFLAGS_KCOV)) |
138 | endif | 138 | endif |
139 | 139 | ||
140 | __c_flags = $(_c_flags) | 140 | # $(srctree)/$(src) for including checkin headers from generated source files |
141 | __a_flags = $(_a_flags) | 141 | # $(objtree)/$(obj) for including generated headers from checkin source files |
142 | __cpp_flags = $(_cpp_flags) | ||
143 | |||
144 | # If building the kernel in a separate objtree expand all occurrences | ||
145 | # of -Idir to -I$(srctree)/dir except for absolute paths (starting with '/'). | ||
146 | ifeq ($(KBUILD_EXTMOD),) | 142 | ifeq ($(KBUILD_EXTMOD),) |
147 | ifneq ($(srctree),.) | 143 | ifneq ($(srctree),.) |
148 | 144 | _c_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj) | |
149 | # -I$(obj) locates generated .h files | 145 | _a_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj) |
150 | # $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files | 146 | _cpp_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj) |
151 | # and locates generated .h files | ||
152 | # FIXME: Replace both with specific CFLAGS* statements in the makefiles | ||
153 | __c_flags = $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \ | ||
154 | $(call flags,_c_flags) | ||
155 | __a_flags = $(call flags,_a_flags) | ||
156 | __cpp_flags = $(call flags,_cpp_flags) | ||
157 | endif | 147 | endif |
158 | endif | 148 | endif |
159 | 149 | ||
160 | c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ | 150 | c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ |
161 | -include $(srctree)/include/linux/compiler_types.h \ | 151 | -include $(srctree)/include/linux/compiler_types.h \ |
162 | $(__c_flags) $(modkern_cflags) \ | 152 | $(_c_flags) $(modkern_cflags) \ |
163 | $(basename_flags) $(modname_flags) | 153 | $(basename_flags) $(modname_flags) |
164 | 154 | ||
165 | a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ | 155 | a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ |
166 | $(__a_flags) $(modkern_aflags) | 156 | $(_a_flags) $(modkern_aflags) |
167 | 157 | ||
168 | cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ | 158 | cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ |
169 | $(__cpp_flags) | 159 | $(_cpp_flags) |
170 | 160 | ||
171 | ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) | 161 | ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) |
172 | 162 | ||
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile index 5f227d8d39d8..82160808765c 100644 --- a/scripts/dtc/Makefile +++ b/scripts/dtc/Makefile | |||
@@ -9,7 +9,7 @@ dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ | |||
9 | dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o | 9 | dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o |
10 | 10 | ||
11 | # Source files need to get at the userspace version of libfdt_env.h to compile | 11 | # Source files need to get at the userspace version of libfdt_env.h to compile |
12 | HOST_EXTRACFLAGS := -I$(src)/libfdt | 12 | HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt |
13 | 13 | ||
14 | ifeq ($(wildcard /usr/include/yaml.h),) | 14 | ifeq ($(wildcard /usr/include/yaml.h),) |
15 | ifneq ($(CHECK_DTBS),) | 15 | ifneq ($(CHECK_DTBS),) |
@@ -23,8 +23,8 @@ HOSTLDLIBS_dtc := -lyaml | |||
23 | endif | 23 | endif |
24 | 24 | ||
25 | # Generated files need one more search path to include headers in source tree | 25 | # Generated files need one more search path to include headers in source tree |
26 | HOSTCFLAGS_dtc-lexer.lex.o := -I$(src) | 26 | HOSTCFLAGS_dtc-lexer.lex.o := -I $(srctree)/$(src) |
27 | HOSTCFLAGS_dtc-parser.tab.o := -I$(src) | 27 | HOSTCFLAGS_dtc-parser.tab.o := -I $(srctree)/$(src) |
28 | 28 | ||
29 | # dependencies on generated files need to be listed explicitly | 29 | # dependencies on generated files need to be listed explicitly |
30 | $(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h | 30 | $(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h |
diff --git a/scripts/genksyms/Makefile b/scripts/genksyms/Makefile index 03b7ce97de14..66c314bc5933 100644 --- a/scripts/genksyms/Makefile +++ b/scripts/genksyms/Makefile | |||
@@ -31,8 +31,8 @@ $(obj)/parse.tab.h: $(src)/parse.y FORCE | |||
31 | endif | 31 | endif |
32 | 32 | ||
33 | # -I needed for generated C source (shipped source) | 33 | # -I needed for generated C source (shipped source) |
34 | HOSTCFLAGS_parse.tab.o := -I$(src) | 34 | HOSTCFLAGS_parse.tab.o := -I $(srctree)/$(src) |
35 | HOSTCFLAGS_lex.lex.o := -I$(src) | 35 | HOSTCFLAGS_lex.lex.o := -I $(srctree)/$(src) |
36 | 36 | ||
37 | # dependencies on generated files need to be listed explicitly | 37 | # dependencies on generated files need to be listed explicitly |
38 | $(obj)/lex.lex.o: $(obj)/parse.tab.h | 38 | $(obj)/lex.lex.o: $(obj)/parse.tab.h |
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 7c5dc31c1d95..3f327e21f60e 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile | |||
@@ -76,15 +76,13 @@ savedefconfig: $(obj)/conf | |||
76 | defconfig: $(obj)/conf | 76 | defconfig: $(obj)/conf |
77 | ifeq ($(KBUILD_DEFCONFIG),) | 77 | ifeq ($(KBUILD_DEFCONFIG),) |
78 | $< $(silent) --defconfig $(Kconfig) | 78 | $< $(silent) --defconfig $(Kconfig) |
79 | else | 79 | else ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) |
80 | ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) | ||
81 | @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" | 80 | @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" |
82 | $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) | 81 | $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) |
83 | else | 82 | else |
84 | @$(kecho) "*** Default configuration is based on target '$(KBUILD_DEFCONFIG)'" | 83 | @$(kecho) "*** Default configuration is based on target '$(KBUILD_DEFCONFIG)'" |
85 | $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) | 84 | $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) |
86 | endif | 85 | endif |
87 | endif | ||
88 | 86 | ||
89 | %_defconfig: $(obj)/conf | 87 | %_defconfig: $(obj)/conf |
90 | $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) | 88 | $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) |
@@ -147,8 +145,8 @@ common-objs := confdata.o expr.o lexer.lex.o parser.tab.o preprocess.o \ | |||
147 | symbol.o | 145 | symbol.o |
148 | 146 | ||
149 | $(obj)/lexer.lex.o: $(obj)/parser.tab.h | 147 | $(obj)/lexer.lex.o: $(obj)/parser.tab.h |
150 | HOSTCFLAGS_lexer.lex.o := -I$(src) | 148 | HOSTCFLAGS_lexer.lex.o := -I $(srctree)/$(src) |
151 | HOSTCFLAGS_parser.tab.o := -I$(src) | 149 | HOSTCFLAGS_parser.tab.o := -I $(srctree)/$(src) |
152 | 150 | ||
153 | # conf: Used for defconfig, oldconfig and related targets | 151 | # conf: Used for defconfig, oldconfig and related targets |
154 | hostprogs-y += conf | 152 | hostprogs-y += conf |
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 492ac3410147..6006154d36bd 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c | |||
@@ -867,6 +867,7 @@ int conf_write(const char *name) | |||
867 | const char *str; | 867 | const char *str; |
868 | char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1]; | 868 | char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1]; |
869 | char *env; | 869 | char *env; |
870 | bool need_newline = false; | ||
870 | 871 | ||
871 | if (!name) | 872 | if (!name) |
872 | name = conf_get_configname(); | 873 | name = conf_get_configname(); |
@@ -912,12 +913,16 @@ int conf_write(const char *name) | |||
912 | "#\n" | 913 | "#\n" |
913 | "# %s\n" | 914 | "# %s\n" |
914 | "#\n", str); | 915 | "#\n", str); |
916 | need_newline = false; | ||
915 | } else if (!(sym->flags & SYMBOL_CHOICE)) { | 917 | } else if (!(sym->flags & SYMBOL_CHOICE)) { |
916 | sym_calc_value(sym); | 918 | sym_calc_value(sym); |
917 | if (!(sym->flags & SYMBOL_WRITE)) | 919 | if (!(sym->flags & SYMBOL_WRITE)) |
918 | goto next; | 920 | goto next; |
921 | if (need_newline) { | ||
922 | fprintf(out, "\n"); | ||
923 | need_newline = false; | ||
924 | } | ||
919 | sym->flags &= ~SYMBOL_WRITE; | 925 | sym->flags &= ~SYMBOL_WRITE; |
920 | |||
921 | conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); | 926 | conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); |
922 | } | 927 | } |
923 | 928 | ||
@@ -929,6 +934,12 @@ next: | |||
929 | if (menu->next) | 934 | if (menu->next) |
930 | menu = menu->next; | 935 | menu = menu->next; |
931 | else while ((menu = menu->parent)) { | 936 | else while ((menu = menu->parent)) { |
937 | if (!menu->sym && menu_is_visible(menu) && | ||
938 | menu != &rootmenu) { | ||
939 | str = menu_get_prompt(menu); | ||
940 | fprintf(out, "# end of %s\n", str); | ||
941 | need_newline = true; | ||
942 | } | ||
932 | if (menu->next) { | 943 | if (menu->next) { |
933 | menu = menu->next; | 944 | menu = menu->next; |
934 | break; | 945 | break; |
diff --git a/scripts/modules-check.sh b/scripts/modules-check.sh new file mode 100755 index 000000000000..2f659530e1ec --- /dev/null +++ b/scripts/modules-check.sh | |||
@@ -0,0 +1,16 @@ | |||
1 | #!/bin/sh | ||
2 | # SPDX-License-Identifier: GPL-2.0 | ||
3 | |||
4 | set -e | ||
5 | |||
6 | # Check uniqueness of module names | ||
7 | check_same_name_modules() | ||
8 | { | ||
9 | for m in $(sed 's:.*/::' modules.order modules.builtin | sort | uniq -d) | ||
10 | do | ||
11 | echo "warning: same basename if the following are built as modules:" >&2 | ||
12 | sed "/\/$m/!d;s:^kernel/: :" modules.order modules.builtin >&2 | ||
13 | done | ||
14 | } | ||
15 | |||
16 | check_same_name_modules | ||