Browse Source

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 <christian.gmeiner@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
tags/2020-06-01
Christian Gmeiner 3 years ago
committed by Tom Rini
parent
commit
52ff8020d0
3 changed files with 17 additions and 0 deletions
  1. +4
    -0
      .gitignore
  2. +7
    -0
      Kconfig
  3. +6
    -0
      Makefile

+ 4
- 0
.gitignore View File

@@ -85,3 +85,7 @@ GTAGS
*.orig
*~
\#*#

# gcc code coverage files
*.gcda
*.gcno

+ 7
- 0
Kconfig View File

@@ -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


+ 6
- 0
Makefile View File

@@ -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