kconfig option for TRIM_UNUSED_KSYMS
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 27 Jan 2016 02:51:05 +0000 (21:51 -0500)
committerNicolas Pitre <nicolas.pitre@linaro.org>
Tue, 29 Mar 2016 20:30:57 +0000 (16:30 -0400)
The config option to enable it all.

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

index e0d26162432e7d98841ca19fb16b6c259a46262e..29d74d3f804444a11356c003d34b946fdcb3b585 100644 (file)
@@ -2012,6 +2012,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