linux-brain/kernel/gcov
Nick Desaulniers 7a92396bf8 gcov: re-fix clang-11+ support
commit 9562fd132985ea9185388a112e50f2a51557827d upstream.

LLVM changed the expected function signature for llvm_gcda_emit_function()
in the clang-11 release.  Users of clang-11 or newer may have noticed
their kernels producing invalid coverage information:

  $ llvm-cov gcov -a -c -u -f -b <input>.gcda -- gcno=<input>.gcno
  1 <func>: checksum mismatch, \
    (<lineno chksum A>, <cfg chksum B>) != (<lineno chksum A>, <cfg chksum C>)
  2 Invalid .gcda File!
  ...

Fix up the function signatures so calling this function interprets its
parameters correctly and computes the correct cfg checksum.  In
particular, in clang-11, the additional checksum is no longer optional.

Link: https://reviews.llvm.org/rG25544ce2df0daa4304c07e64b9c8b0f7df60c11d
Link: https://lkml.kernel.org/r/20210408184631.1156669-1-ndesaulniers@google.com
Reported-by: Prasad Sodagudi <psodagud@quicinc.com>
Tested-by: Prasad Sodagudi <psodagud@quicinc.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Cc: <stable@vger.kernel.org>	[5.4+]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-04-14 08:24:10 +02:00
..
Kconfig gcov: add support for GCC 10.1 2020-09-17 13:47:56 +02:00
Makefile gcov: clang support 2019-05-14 19:52:51 -07:00
base.c gcov: clang support 2019-05-14 19:52:51 -07:00
clang.c gcov: re-fix clang-11+ support 2021-04-14 08:24:10 +02:00
fs.c kernel/gcov/fs.c: gcov_seq_next() should increase position index 2020-04-29 16:33:00 +02:00
gcc_3_4.c gcov: clang support 2019-05-14 19:52:51 -07:00
gcc_4_7.c gcov: add support for GCC 10.1 2020-09-17 13:47:56 +02:00
gcc_base.c gcov: clang: move common GCC code into gcc_base.c 2019-05-14 19:52:51 -07:00
gcov.h gcov: clang support 2019-05-14 19:52:51 -07:00