X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=init%2FKconfig;h=c02d89777713b8772e47c2759570f4a838cb18e7;hb=b89c44bb233b51c3f03eaff22802a70036edf7cd;hp=a9c4aefd5436edf12d6bda5ab775fbee3e7a8fd8;hpb=28165ec7a99be98123aa89540bf2cfc24df19498;p=deliverable%2Flinux.git diff --git a/init/Kconfig b/init/Kconfig index a9c4aefd5436..c02d89777713 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1306,6 +1306,17 @@ source "usr/Kconfig" endif +choice + prompt "Compiler optimization level" + default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + +config CC_OPTIMIZE_FOR_PERFORMANCE + bool "Optimize for performance" + help + This is the default optimization level for the kernel, building + with the "-O2" compiler flag for best performance and most + helpful compile-time warnings. + config CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" help @@ -1314,6 +1325,8 @@ config CC_OPTIMIZE_FOR_SIZE If unsure, say N. +endchoice + config SYSCTL bool @@ -1445,6 +1458,7 @@ config KALLSYMS_ALL config KALLSYMS_ABSOLUTE_PERCPU bool + depends on KALLSYMS default X86_64 && SMP config KALLSYMS_BASE_RELATIVE @@ -2049,6 +2063,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