Re: [PATCH v3 3/3] gcov: docs: add a note on GCC vs Clang differences

From: Nick Desaulniers
Date: Tue Jan 22 2019 - 18:50:30 EST


On Tue, Jan 22, 2019 at 3:39 PM Tri Vo <trong@xxxxxxxxxxx> wrote:
>
> Document some things of note to gcov users:
> 1. GCC gcov and Clang llvm-cov tools are not compatible.
> 2. The use of GCC vs Clang is transparent at build-time.
>
> Signed-off-by: Tri Vo <trong@xxxxxxxxxxx>

Thanks for adding this note (I made the mistake myself when testing
out these patches that the coverage format is slightly different).
And good find removing the documentation on the now obsolete config.
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

> ---
> Documentation/dev-tools/gcov.rst | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/dev-tools/gcov.rst b/Documentation/dev-tools/gcov.rst
> index 69a7d90c320a..46aae52a41d0 100644
> --- a/Documentation/dev-tools/gcov.rst
> +++ b/Documentation/dev-tools/gcov.rst
> @@ -34,10 +34,6 @@ Configure the kernel with::
> CONFIG_DEBUG_FS=y
> CONFIG_GCOV_KERNEL=y
>
> -select the gcc's gcov format, default is autodetect based on gcc version::
> -
> - CONFIG_GCOV_FORMAT_AUTODETECT=y
> -
> and to get coverage data for the entire kernel::
>
> CONFIG_GCOV_PROFILE_ALL=y
> @@ -169,6 +165,20 @@ b) gcov is run on the BUILD machine
> [user@build] gcov -o /tmp/coverage/tmp/out/init main.c
>
>
> +Note on compilers
> +-----------------
> +
> +GCC and LLVM gcov tools are not necessarily compatible. Use gcov_ to work with
> +GCC-generated .gcno and .gcda files, and use llvm-cov_ for Clang.
> +
> +.. _gcov: http://gcc.gnu.org/onlinedocs/gcc/Gcov.html
> +.. _llvm-cov: https://llvm.org/docs/CommandGuide/llvm-cov.html
> +
> +Build differences between GCC and Clang gcov are handled by Kconfig. It
> +automatically selects the appropriate gcov format depending on the detected
> +toolchain.
> +
> +
> Troubleshooting
> ---------------
>
> --
> 2.20.1.321.g9e740568ce-goog
>


--
Thanks,
~Nick Desaulniers