Kconfig 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config HAVE_GCC_PLUGINS
  3. bool
  4. help
  5. An arch should select this symbol if it supports building with
  6. GCC plugins.
  7. menuconfig GCC_PLUGINS
  8. bool "GCC plugins"
  9. depends on HAVE_GCC_PLUGINS
  10. depends on CC_IS_GCC
  11. depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
  12. default y
  13. help
  14. GCC plugins are loadable modules that provide extra features to the
  15. compiler. They are useful for runtime instrumentation and static analysis.
  16. See Documentation/kbuild/gcc-plugins.rst for details.
  17. if GCC_PLUGINS
  18. config GCC_PLUGIN_SANCOV
  19. bool
  20. # Plugin can be removed once the kernel only supports GCC 6+
  21. depends on !CC_HAS_SANCOV_TRACE_PC
  22. help
  23. This plugin inserts a __sanitizer_cov_trace_pc() call at the start of
  24. basic blocks. It supports all gcc versions with plugin support (from
  25. gcc-4.5 on). It is based on the commit "Add fuzzing coverage support"
  26. by Dmitry Vyukov <[email protected]>.
  27. config GCC_PLUGIN_LATENT_ENTROPY
  28. bool "Generate some entropy during boot and runtime"
  29. help
  30. By saying Y here the kernel will instrument some kernel code to
  31. extract some entropy from both original and artificially created
  32. program state. This will help especially embedded systems where
  33. there is little 'natural' source of entropy normally. The cost
  34. is some slowdown of the boot process (about 0.5%) and fork and
  35. irq processing.
  36. Note that entropy extracted this way is not cryptographically
  37. secure!
  38. This plugin was ported from grsecurity/PaX. More information at:
  39. * https://grsecurity.net/
  40. * https://pax.grsecurity.net/
  41. config GCC_PLUGIN_ARM_SSP_PER_TASK
  42. bool
  43. depends on GCC_PLUGINS && ARM
  44. endif