diff options
| author | Nicolas Pitre <[email protected]> | 2016-01-21 22:07:24 +0000 |
|---|---|---|
| committer | Nicolas Pitre <[email protected]> | 2016-03-29 17:30:54 +0000 |
| commit | 9895c03d48115c7783c0ef0a591447d53254ef84 (patch) | |
| tree | 6cd59c256bb47b9b2befdddde3322e010b91359c /scripts/basic/fixdep.c | |
| parent | Linux 4.6-rc1 (diff) | |
| download | kernel-9895c03d48115c7783c0ef0a591447d53254ef84.tar.gz kernel-9895c03d48115c7783c0ef0a591447d53254ef84.zip | |
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 <[email protected]>
Acked-by: Rusty Russell <[email protected]>
Diffstat (limited to 'scripts/basic/fixdep.c')
0 files changed, 0 insertions, 0 deletions
