OSDN Git Service

kbuild: do not read $(KBUILD_EXTMOD)/Module.symvers
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 3 Oct 2019 10:29:14 +0000 (19:29 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 11 Nov 2019 11:07:03 +0000 (20:07 +0900)
commit39808e451fdf30d20099a92e5185a0acb028d826
tree8d527ecd64d4f181f7da81211e1348c609e1c9a2
parent1747269ab016b49650c952099b0ca096ed5c06f1
kbuild: do not read $(KBUILD_EXTMOD)/Module.symvers

Since commit 040fcc819a2e ("kbuild: improved modversioning support for
external modules"), the external module build reads Module.symvers in
the directory of the module itself, then dumps symbols back into it.
It accumulates stale symbols in the file when you build an external
module incrementally.

The idea behind it was, as the commit log explained, you can copy
Modules.symvers from one module to another when you need to pass symbol
information between two modules. However, the manual copy of the file
sounds questionable to me, and containing stale symbols is a downside.

Some time later, commit 0d96fb20b7ed ("kbuild: Add new Kbuild variable
KBUILD_EXTRA_SYMBOLS") introduced a saner approach.

So, this commit removes the former one. Going forward, the external
module build dumps symbols into Module.symvers to be carried via
KBUILD_EXTRA_SYMBOLS, but never reads it automatically.

With the -I option removed, there is no one to set the external_module
flag unless KBUILD_EXTRA_SYMBOLS is passed. Now the -i option does it
instead.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Documentation/kbuild/modules.rst
scripts/Makefile.modpost
scripts/mod/modpost.c