aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTri Vo <[email protected]>2019-05-14 15:45:28 -0700
committerLinus Torvalds <[email protected]>2019-05-14 19:52:51 -0700
commitaa069a23a220e9ab00d6837b76917952d0fb587e (patch)
tree1b03a8ca938c8cf0e82b9b7e2f5ee258f179cc90
parent826eba0d77bc74c4d1c611374b76abfe251e8538 (diff)
gcov: docs: add a note on GCC vs Clang differences
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. Also adjust the documentation to account for the removal of config symbol CONFIG_GCOV_FORMAT_AUTODETECT by commit 6a61b70b43c9 ("gcov: remove CONFIG_GCOV_FORMAT_AUTODETECT"). Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Tri Vo <[email protected]> Reviewed-by: Peter Oberparleiter <[email protected]> Cc: Daniel Mentz <[email protected]> Cc: Greg Hackmann <[email protected]> Cc: Nick Desaulniers <[email protected]> Cc: Petri Gynther <[email protected]> Cc: Prasad Sodagudi <[email protected]> Cc: Trilok Soni <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--Documentation/dev-tools/gcov.rst18
1 files 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
---------------