diff --git a/MAINTAINERS b/MAINTAINERS index c97a29527a216e3569d50d399f8731ff1bd9e9fe..fde08b1b5b7f797da0def31305501e29aebf7f53 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5239,6 +5239,7 @@ L: kernel-hardening@lists.openwall.com S: Maintained F: scripts/gcc-plugins/ F: scripts/gcc-plugin.sh +F: scripts/Makefile.gcc-plugins F: Documentation/gcc-plugins.txt GCOV BASED KERNEL PROFILING diff --git a/arch/Kconfig b/arch/Kconfig index 835d55d521048ae8de7f27df8091f56e22c71c80..19483aea4bbc9e15b51f0bc7f200880902794a74 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -364,8 +364,9 @@ menuconfig GCC_PLUGINS See Documentation/gcc-plugins.txt for details. config GCC_PLUGIN_CYC_COMPLEXITY - bool "Compute the cyclomatic complexity of a function" + bool "Compute the cyclomatic complexity of a function" if EXPERT depends on GCC_PLUGINS + depends on !COMPILE_TEST help The complexity M of a function's control flow graph is defined as: M = E - N + 2P @@ -375,6 +376,10 @@ config GCC_PLUGIN_CYC_COMPLEXITY N = the number of nodes P = the number of connected components (exit nodes). + Enabling this plugin reports the complexity to stderr during the + build. It mainly serves as a simple example of how to create a + gcc plugin for the kernel. + config GCC_PLUGIN_SANCOV bool depends on GCC_PLUGINS