[U-Boot] [PATCH] kconfig: add CONFIG_CC_COVERAGE

Christian Gmeiner christian.gmeiner at gmail.com
Wed Apr 4 06:31:52 UTC 2018


Gentle ping..

2018-03-29 9:49 GMT+02:00 Christian Gmeiner <christian.gmeiner at gmail.com>:
> Make it possible to use gcc code coverage analysis.
>
> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
>  .gitignore | 4 ++++
>  Kconfig    | 8 ++++++++
>  Makefile   | 6 ++++++
>  3 files changed, 18 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..f092f72b25 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -59,6 +59,14 @@ config CC_OPTIMIZE_FOR_SIZE
>
>           This option is enabled by default for U-Boot.
>
> +config CC_COVERAGE
> +       bool "Enable code coverage analysis"
> +       default n
> +       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 5fa14789d9..d06193e8f4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -720,6 +720,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.14.3
>



-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info


More information about the U-Boot mailing list