From: Christian Gmeiner Date: Mon, 9 Apr 2018 15:11:45 +0000 (+0200) Subject: kconfig: add CONFIG_CC_COVERAGE X-Git-Tag: v2018.05-rc2~15 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=52ff8020d02f312364ceaf0b1114759d3a1f357b;p=u-boot 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 --- 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