On Fri, Aug 12, 2016 at 05:51:21PM +0200, Borislav Petkov wrote: > On Fri, Aug 12, 2016 at 05:28:05PM +0200, Luis R. Rodriguez wrote: > > Even so, you don't link the compiled extra code so the only penalty > > here is when compiling, nothing more. And if you are compiling typically > > the cost here is just a few seconds. > > Yeah, so let's make it clear that this is similar to COMPILE_TEST and > people with fast machines and who don't mind building a couple more > seconds longer, should enable it. Sure, I'll also move it under COMPILE_TEST, and default it to n. > You don't want to be doing bit-rotting tests on small, weak machines, > which barely get done with the build as it is. I have a 32-bit atom > which takes hours to build a kernel. Enabling that there is not making > the kernel build any more fun. > > > > ... or you simply don't want to have stuff which is forcibly enabled on you even > > > if you're never going to need it > > > ... > > > > Which seems to be the same as the reason I noted ? > > No, the reason is we don't force stuff down people's throats just > because we think we know better. Other people do that. > > Instead, we help them make an informed decision by describing the > feature as precisely as possible. > > > I can remove the grumpy maintainer description :) > > Yap :-) Alright, how's this new description: diff --git a/init/Kconfig b/init/Kconfig index cac3f096050d..73e4890c24c4 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -53,6 +53,34 @@ config CROSS_COMPILE need to set this unless you want the configured kernel build directory to select the cross-compiler automatically. +config BUILD_AVOID_BITROT + bool "Always force building specially annotated targets" + default n + help + If enabled then the the special table-* Makefile targets will always + be forced to be compiled even if their respective CONFIG_ option has + been disabled, but its objects will only be linked in if the same + respective CONFIG_ option has been enabled. This helps avoid code + bit rot issues, use for these targets should be carefully considred + by maintainers. You can safely enable this option at the expense of + increasing compile time. Enabling this option helps avoid code bit + rot by taking advantage of the facilities provided and enabled by + using linker tables documented under: + + include/linux/tables.h + + The special targets supported are: + + o table-obj-y + o table-lib-y + + Say Y if you have a decent build machine and would like to help test + building code for more subsystems. Say N if you do you not have a + good build machine or only want to compile what you've enabled for + your kernel. + + Enabling this option never increases the size of your kernel. + config COMPILE_TEST bool "Compile also drivers which will not load" depends on !UML -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html