Commit 1bd9a468 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin}



Removing the 'kernel/' prefix will make our life easier because we can
simply do 'cat modules.order' to get all built modules with full paths.

Currently, we parse the first line of '*.mod' files in $(MODVERDIR).
Since we have duplicated functionality here, I plan to remove MODVERDIR
entirely.

In fact, modules.order is generated also for external modules in a
broken format. It adds the 'kernel/' prefix to the absolute path of
the module, like this:

  kernel//path/to/your/external/module/foo.ko

This is fine for now since modules.order is not used for external
modules. However, I want to sanitize the format everywhere towards
the goal of removing MODVERDIR.

We cannot change the format of installed module.{order,builtin}.
So, 'make modules_install' will add the 'kernel/' prefix while copying
them to $(MODLIB)/.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 7e131918
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1329,8 +1329,8 @@ _modinst_:
		rm -f $(MODLIB)/build ; \
		ln -s $(CURDIR) $(MODLIB)/build ; \
	fi
	@cp -f $(objtree)/modules.order $(MODLIB)/
	@cp -f $(objtree)/modules.builtin $(MODLIB)/
	@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
	@sed 's:^:kernel/:' modules.builtin > $(MODLIB)/modules.builtin
	@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
	$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst

+1 −1
Original line number Diff line number Diff line
@@ -426,7 +426,7 @@ endif # builtin-target
modorder-cmds =						\
	$(foreach m, $(modorder),			\
		$(if $(filter %/modules.order, $m),	\
			cat $m;, echo kernel/$m;))
			cat $m;, echo $m;))

$(modorder-target): $(subdir-ym) FORCE
	$(Q)(cat /dev/null; $(modorder-cmds)) > $@
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ __modbuiltin: $(modbuiltin-target) $(subdir-ym)
	@:

$(modbuiltin-target): $(subdir-ym) FORCE
	$(Q)(for m in $(modbuiltin-mods); do echo kernel/$$m; done;	\
	$(Q)(for m in $(modbuiltin-mods); do echo $$m; done;	\
	cat /dev/null $(modbuiltin-subdirs)) > $@

PHONY += FORCE
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ check_same_name_modules()
	for m in $(sed 's:.*/::' modules.order | sort | uniq -d)
	do
		echo "warning: same module names found:" >&2
		sed -n "/\/$m/s:^kernel/:  :p" modules.order >&2
		sed -n "/\/$m/s:^:  :p" modules.order >&2
	done
}