summaryrefslogtreecommitdiff
path: root/include/linux/export.h
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2016-01-22 01:07:24 +0300
committerNicolas Pitre <nicolas.pitre@linaro.org>2016-03-29 20:30:54 +0300
commit9895c03d48115c7783c0ef0a591447d53254ef84 (patch)
tree6cd59c256bb47b9b2befdddde3322e010b91359c /include/linux/export.h
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
downloadlinux-9895c03d48115c7783c0ef0a591447d53254ef84.tar.xz
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>
Diffstat (limited to 'include/linux/export.h')
0 files changed, 0 insertions, 0 deletions