]> git.baikalelectronics.ru Git - kernel.git/commit
kbuild: record needed exported symbols for modules
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 21 Jan 2016 22:07:24 +0000 (17:07 -0500)
committerNicolas Pitre <nicolas.pitre@linaro.org>
Tue, 29 Mar 2016 17:30:54 +0000 (13:30 -0400)
commit8dc2923bd557ff3ae623ccbe014f4afbc0189151
tree6cd59c256bb47b9b2befdddde3322e010b91359c
parent3039f62d3fccb077513a4ffae4d1ef4609c1b724
kbuild: record needed exported symbols for modules

Kernel modules are partially linked object files with some undefined
symbols that are expected to be matched with EXPORT_SYMBOL() entries
from elsewhere.

Each .tmp_versions/*.mod file currently contains two line of text
separated by a newline character. The first line has the actual module
file name while the second line has a list of object files constituting
that module. Those files are parsed by modpost (scripts/mod/sumversion.c),
scripts/Makefile.modpost, scripts/Makefile.modsign, etc.  Only the
modpost utility cares about the second line while the others retrieve
only the first line.

Therefore we can add a third line to record the list of undefined symbols
aka required EXPORT_SYMBOL() entries for each module into that file
without breaking anything. Like for the second line, symbols are separated
by a blank and the list is terminated with a newline character.

To avoid needless build overhead, the undefined symbols extraction is
performed only when CONFIG_TRIM_UNUSED_KSYMS is selected.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
scripts/Makefile.build