linux/scripts/mod
Masahiro Yamada e4b26c9f75 modpost: do not set ->preloaded for symbols from Module.symvers
Now that there is no overwrap between symbols from ELF files and
ones from Module.symvers.

So, the 'exported twice' warning should be reported irrespective
of where the symbol in question came from.

The exceptional case is external module; in some cases, we build
an external module to provide a different version/variant of the
corresponding in-kernel module, overriding the same set of exported
symbols.

You can see this use-case in upstream; tools/testing/nvdimm/libnvdimm.ko
replaces drivers/nvdimm/libnvdimm.ko in order to link it against mocked
version of core kernel symbols.

So, let's relax the 'exported twice' warning when building external
modules. The multiple export from external modules is warned only
when the previous one is from vmlinux or itself.

With this refactoring, the ugly preloading goes away.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2019-11-23 15:46:42 +09:00
..
.gitignore kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
devicetable-offsets.c platform-drivers-x86 for v5.1-1 2019-03-10 13:16:37 -07:00
empty.c
file2alias.c modpost: add guid_t type definition 2019-09-04 22:55:42 +09:00
Makefile kbuild: move modpost out of 'scripts' target 2018-12-01 23:09:34 +09:00
mk_elfconfig.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
modpost.c modpost: do not set ->preloaded for symbols from Module.symvers 2019-11-23 15:46:42 +09:00
modpost.h modpost: refactor namespace_from_kstrtabns() to not hard-code section name 2019-11-23 12:44:24 +09:00
sumversion.c kbuild: remove the first line of *.mod files 2019-07-18 02:19:31 +09:00