From 52ff8020d02f312364ceaf0b1114759d3a1f357b Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Mon, 9 Apr 2018 17:11:45 +0200 Subject: [PATCH] kconfig: add CONFIG_CC_COVERAGE Make it possible to use gcc code coverage analysis. v1 -> v2: - Kconfig: remove not needed 'default n' - Makefile: use consistent spacing Signed-off-by: Christian Gmeiner Reviewed-by: Tom Rini --- .gitignore | 4 ++++ Kconfig | 7 +++++++ Makefile | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/.gitignore b/.gitignore index 29757aa51e..f1b801579c 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,7 @@ GTAGS *.orig *~ \#*# + +# gcc code coverage files +*.gcda +*.gcno diff --git a/Kconfig b/Kconfig index 6670913799..67b8c50cbd 100644 --- a/Kconfig +++ b/Kconfig @@ -59,6 +59,13 @@ config CC_OPTIMIZE_FOR_SIZE This option is enabled by default for U-Boot. +config CC_COVERAGE + bool "Enable code coverage analysis" + depends on SANDBOX + help + Enabling this option will pass "--coverage" to gcc to compile + and link code instrumented for coverage analysis. + config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA diff --git a/Makefile b/Makefile index bfe115cf18..9eb7e5bf34 100644 --- a/Makefile +++ b/Makefile @@ -725,6 +725,12 @@ else PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc endif PLATFORM_LIBS += $(PLATFORM_LIBGCC) + +ifdef CONFIG_CC_COVERAGE +KBUILD_CFLAGS += --coverage +PLATFORM_LIBGCC += -lgcov +endif + export PLATFORM_LIBS export PLATFORM_LIBGCC -- 2.25.1