xref: /linux/scripts/gcc-plugins/Kconfig (revision dee264c16a6334dcdbea5c186f5ff35f98b1df42)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
245332b1bSMasahiro Yamadaconfig HAVE_GCC_PLUGINS
345332b1bSMasahiro Yamada	bool
445332b1bSMasahiro Yamada	help
545332b1bSMasahiro Yamada	  An arch should select this symbol if it supports building with
645332b1bSMasahiro Yamada	  GCC plugins.
745332b1bSMasahiro Yamada
8a5b0dc5aSArnd Bergmannmenuconfig GCC_PLUGINS
9a5b0dc5aSArnd Bergmann	bool "GCC plugins"
1045332b1bSMasahiro Yamada	depends on HAVE_GCC_PLUGINS
115429ef62SWill Deacon	depends on CC_IS_GCC
12*1e860048SMasahiro Yamada	depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
139f671e58SKees Cook	default y
1445332b1bSMasahiro Yamada	help
1545332b1bSMasahiro Yamada	  GCC plugins are loadable modules that provide extra features to the
1645332b1bSMasahiro Yamada	  compiler. They are useful for runtime instrumentation and static analysis.
1745332b1bSMasahiro Yamada
182b4cbd5cSJonathan Corbet	  See Documentation/kbuild/gcc-plugins.rst for details.
1945332b1bSMasahiro Yamada
20a5b0dc5aSArnd Bergmannif GCC_PLUGINS
2145332b1bSMasahiro Yamada
2245332b1bSMasahiro Yamadaconfig GCC_PLUGIN_LATENT_ENTROPY
2345332b1bSMasahiro Yamada	bool "Generate some entropy during boot and runtime"
2445332b1bSMasahiro Yamada	help
2545332b1bSMasahiro Yamada	  By saying Y here the kernel will instrument some kernel code to
2645332b1bSMasahiro Yamada	  extract some entropy from both original and artificially created
2745332b1bSMasahiro Yamada	  program state.  This will help especially embedded systems where
2845332b1bSMasahiro Yamada	  there is little 'natural' source of entropy normally.  The cost
2945332b1bSMasahiro Yamada	  is some slowdown of the boot process (about 0.5%) and fork and
3045332b1bSMasahiro Yamada	  irq processing.
3145332b1bSMasahiro Yamada
3245332b1bSMasahiro Yamada	  Note that entropy extracted this way is not cryptographically
3345332b1bSMasahiro Yamada	  secure!
3445332b1bSMasahiro Yamada
3545332b1bSMasahiro Yamada	  This plugin was ported from grsecurity/PaX. More information at:
3645332b1bSMasahiro Yamada	   * https://grsecurity.net/
3745332b1bSMasahiro Yamada	   * https://pax.grsecurity.net/
3845332b1bSMasahiro Yamada
39a5b0dc5aSArnd Bergmannendif
40