Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[sfrench/cifs-2.6.git] / arch / Kconfig
index 15996290fed4a920f22e2687cb77944e9c3b3cfc..bd8056b5b246058a8c06190811f875a00f30df8d 100644 (file)
@@ -357,6 +357,43 @@ config SECCOMP_FILTER
 
          See Documentation/prctl/seccomp_filter.txt for details.
 
+config HAVE_GCC_PLUGINS
+       bool
+       help
+         An arch should select this symbol if it supports building with
+         GCC plugins.
+
+menuconfig GCC_PLUGINS
+       bool "GCC plugins"
+       depends on HAVE_GCC_PLUGINS
+       depends on !COMPILE_TEST
+       help
+         GCC plugins are loadable modules that provide extra features to the
+         compiler. They are useful for runtime instrumentation and static analysis.
+
+         See Documentation/gcc-plugins.txt for details.
+
+config GCC_PLUGIN_CYC_COMPLEXITY
+       bool "Compute the cyclomatic complexity of a function"
+       depends on GCC_PLUGINS
+       help
+         The complexity M of a function's control flow graph is defined as:
+          M = E - N + 2P
+         where
+
+         E = the number of edges
+         N = the number of nodes
+         P = the number of connected components (exit nodes).
+
+config GCC_PLUGIN_SANCOV
+       bool
+       depends on GCC_PLUGINS
+       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 HAVE_CC_STACKPROTECTOR
        bool
        help