]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
gcov: remove CONFIG_GCOV_FORMAT_AUTODETECT
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 28 May 2018 09:22:03 +0000 (18:22 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 8 Jun 2018 09:56:02 +0000 (18:56 +0900)
CONFIG_GCOV_FORMAT_AUTODETECT compiles either gcc_3_4.c or gcc_4_7.c
according to your GCC version.

We can achieve the equivalent behavior by setting reasonable dependency
with the knowledge of the compiler version.

If GCC older than 4.7 is used, GCOV_FORMAT_3_4 is the default, but users
are still allowed to select GCOV_FORMAT_4_7 in case the newer format is
back-ported.

On the other hand, If GCC 4.7 or newer is used, there is no reason to
use GCOV_FORMAT_3_4, so it should be hidden.

If you downgrade the compiler to GCC 4.7 or older, oldconfig/syncconfig
will display a prompt for the choice because GCOV_FORMAT_3_4 becomes
visible as a new symbol.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
kernel/gcov/Kconfig
kernel/gcov/Makefile

index 1276aabaab5504508ce783d539c3be8acac84fee..1e3823fa799b299b88f1eeb3f5818ed7a31e905e 100644 (file)
@@ -53,23 +53,16 @@ config GCOV_PROFILE_ALL
 choice
        prompt "Specify GCOV format"
        depends on GCOV_KERNEL
-       default GCOV_FORMAT_AUTODETECT
        ---help---
-       The gcov format is usually determined by the GCC version, but there are
+       The gcov format is usually determined by the GCC version, and the
+       default is chosen according to your GCC version. However, there are
        exceptions where format changes are integrated in lower-version GCCs.
-       In such a case use this option to adjust the format used in the kernel
-       accordingly.
-
-       If unsure, choose "Autodetect".
-
-config GCOV_FORMAT_AUTODETECT
-       bool "Autodetect"
-       ---help---
-       Select this option to use the format that corresponds to your GCC
-       version.
+       In such a case, change this option to adjust the format used in the
+       kernel accordingly.
 
 config GCOV_FORMAT_3_4
        bool "GCC 3.4 format"
+       depends on CC_IS_GCC && GCC_VERSION < 40700
        ---help---
        Select this option to use the format defined by GCC 3.4.
 
index c6c50e5c680e049f6ded431b722852150b2261d2..ff06d64df3976807840dffd3a7629e64f5270de2 100644 (file)
@@ -4,5 +4,3 @@ ccflags-y := -DSRCTREE='"$(srctree)"' -DOBJTREE='"$(objtree)"'
 obj-y := base.o fs.o
 obj-$(CONFIG_GCOV_FORMAT_3_4) += gcc_3_4.o
 obj-$(CONFIG_GCOV_FORMAT_4_7) += gcc_4_7.o
-obj-$(CONFIG_GCOV_FORMAT_AUTODETECT) += $(call cc-ifversion, -lt, 0407, \
-                                                       gcc_3_4.o, gcc_4_7.o)