summaryrefslogtreecommitdiffstats
path: root/kernel/gcov
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-04-25 17:35:29 +0200
committerMichal Marek <mmarek@suse.com>2016-05-10 17:12:49 +0200
commitcc622420798c4bcf093785d872525087a7798db9 (patch)
treeb4ca9693236b3548caf056d81e00300cdcf0d0a0 /kernel/gcov
parentKbuild: disable 'maybe-uninitialized' warning for CONFIG_PROFILE_ALL_BRANCHES (diff)
downloadlinux-cc622420798c4bcf093785d872525087a7798db9.tar.xz
linux-cc622420798c4bcf093785d872525087a7798db9.zip
gcov: disable for COMPILE_TEST
Enabling gcov is counterproductive to compile testing: it significantly increases the kernel image size, compile time, and it produces lots of false positive "may be used uninitialized" warnings as the result of missed optimizations. This is in line with how UBSAN_SANITIZE_ALL and PROFILE_ALL_BRANCHES work, both of which have similar problems. With an ARM allmodconfig kernel, I see the build time drop from 283 minutes CPU time to 225 minutes, and the vmlinux size drops from 43MB to 26MB. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'kernel/gcov')
-rw-r--r--kernel/gcov/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
index c92e44855ddd..1276aabaab55 100644
--- a/kernel/gcov/Kconfig
+++ b/kernel/gcov/Kconfig
@@ -37,6 +37,7 @@ config ARCH_HAS_GCOV_PROFILE_ALL
config GCOV_PROFILE_ALL
bool "Profile entire Kernel"
+ depends on !COMPILE_TEST
depends on GCOV_KERNEL
depends on ARCH_HAS_GCOV_PROFILE_ALL
default n