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