The config option to enable it all. Signed-off-by: Nicolas Pitre <n...@linaro.org> Acked-by: Rusty Russell <ru...@rustcorp.com.au> --- init/Kconfig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig index 22320804fb..e6f666331b 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1990,6 +1990,22 @@ config MODULE_COMPRESS_XZ endchoice +config TRIM_UNUSED_KSYMS + bool "Trim unused exported kernel symbols" + depends on MODULES && !UNUSED_SYMBOLS + help + The kernel and some modules make many symbols available for + other modules to use via EXPORT_SYMBOL() and variants. Depending + on the set of modules being selected in your kernel configuration, + many of those exported symbols might never be used. + + This option allows for unused exported symbols to be dropped from + the build. In turn, this provides the compiler more opportunities + (especially when using LTO) for optimizing the code and reducing + binary size. This might have some security advantages as well. + + If unsure say N. + endif # MODULES config MODULES_TREE_LOOKUP -- 2.5.0