diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2016-01-26 21:51:05 -0500 |
---|---|---|
committer | Nicolas Pitre <nicolas.pitre@linaro.org> | 2016-03-29 16:30:57 -0400 |
commit | dbacb0ef670d057a2c52c0e1e642bab727f6b4cb (patch) | |
tree | f87ccee0bfc82076bc2ac4ede5c236e04a7222d7 | |
parent | dd92478a15fa3bfd746ee08b4ef59401c1537804 (diff) |
kconfig option for TRIM_UNUSED_KSYMS
The config option to enable it all.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r-- | init/Kconfig | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index e0d26162432e..29d74d3f8044 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -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 |