https://github.com/torvalds/linux
Revision 9562fd132985ea9185388a112e50f2a51557827d authored by Nick Desaulniers on 09 April 2021, 20:27:26 UTC, committed by Linus Torvalds on 09 April 2021, 21:54:23 UTC
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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent a3a8833
History
Tip revision: 9562fd132985ea9185388a112e50f2a51557827d authored by Nick Desaulniers on 09 April 2021, 20:27:26 UTC
gcov: re-fix clang-11+ support
Tip revision: 9562fd1
File Mode Size
.gitignore -rw-r--r-- 62 bytes
Kconfig -rw-r--r-- 3.4 KB
Makefile -rw-r--r-- 4.1 KB
blacklist.c -rw-r--r-- 4.1 KB
blacklist.h -rw-r--r-- 84 bytes
blacklist_hashes.c -rw-r--r-- 166 bytes
blacklist_nohashes.c -rw-r--r-- 122 bytes
system_certificates.S -rw-r--r-- 828 bytes
system_keyring.c -rw-r--r-- 8.8 KB

back to top