2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2018-07-05 14:24:12 +08:00
|
|
|
config HAVE_GCC_PLUGINS
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
An arch should select this symbol if it supports building with
|
|
|
|
GCC plugins.
|
|
|
|
|
2019-12-11 21:39:28 +08:00
|
|
|
menuconfig GCC_PLUGINS
|
|
|
|
bool "GCC plugins"
|
2018-07-05 14:24:12 +08:00
|
|
|
depends on HAVE_GCC_PLUGINS
|
2020-01-23 03:38:21 +08:00
|
|
|
depends on CC_IS_GCC
|
2020-12-03 20:57:00 +08:00
|
|
|
depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
|
2019-04-10 23:23:44 +08:00
|
|
|
default y
|
2018-07-05 14:24:12 +08:00
|
|
|
help
|
|
|
|
GCC plugins are loadable modules that provide extra features to the
|
|
|
|
compiler. They are useful for runtime instrumentation and static analysis.
|
|
|
|
|
2020-03-03 06:24:04 +08:00
|
|
|
See Documentation/kbuild/gcc-plugins.rst for details.
|
2018-07-05 14:24:12 +08:00
|
|
|
|
2019-12-11 21:39:28 +08:00
|
|
|
if GCC_PLUGINS
|
2018-07-05 14:24:12 +08:00
|
|
|
|
|
|
|
config GCC_PLUGIN_SANCOV
|
|
|
|
bool
|
2021-10-21 01:35:53 +08:00
|
|
|
# Plugin can be removed once the kernel only supports GCC 6+
|
|
|
|
depends on !CC_HAS_SANCOV_TRACE_PC
|
2018-07-05 14:24:12 +08:00
|
|
|
help
|
|
|
|
This plugin inserts a __sanitizer_cov_trace_pc() call at the start of
|
|
|
|
basic blocks. It supports all gcc versions with plugin support (from
|
|
|
|
gcc-4.5 on). It is based on the commit "Add fuzzing coverage support"
|
|
|
|
by Dmitry Vyukov <dvyukov@google.com>.
|
|
|
|
|
|
|
|
config GCC_PLUGIN_LATENT_ENTROPY
|
|
|
|
bool "Generate some entropy during boot and runtime"
|
|
|
|
help
|
|
|
|
By saying Y here the kernel will instrument some kernel code to
|
|
|
|
extract some entropy from both original and artificially created
|
|
|
|
program state. This will help especially embedded systems where
|
|
|
|
there is little 'natural' source of entropy normally. The cost
|
|
|
|
is some slowdown of the boot process (about 0.5%) and fork and
|
|
|
|
irq processing.
|
|
|
|
|
|
|
|
Note that entropy extracted this way is not cryptographically
|
|
|
|
secure!
|
|
|
|
|
|
|
|
This plugin was ported from grsecurity/PaX. More information at:
|
|
|
|
* https://grsecurity.net/
|
|
|
|
* https://pax.grsecurity.net/
|
|
|
|
|
2018-12-06 16:32:57 +08:00
|
|
|
config GCC_PLUGIN_ARM_SSP_PER_TASK
|
|
|
|
bool
|
|
|
|
depends on GCC_PLUGINS && ARM
|
|
|
|
|
2019-12-11 21:39:28 +08:00
|
|
|
endif
|