Messages in this thread | | | Date | Wed, 7 Apr 2021 11:54:54 -0700 | Subject | [PATCH 0/2] gcov: re-fix clang-11 support | From | Nick Desaulniers <> |
| |
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! ...
Similar to the last series, the patch is broken in two. The first is tagged for inclusion in stable in order to continue supporting newer versions of clang (clang-11+) for that tree, then the second drops the older implementations to keep one and only support clang-11+. This same pattern was done recently in: https://lore.kernel.org/lkml/20210312224132.3413602-1-ndesaulniers@google.com/
We've since added CI coverage of CONFIG_GCOV https://github.com/ClangBuiltLinux/continuous-integration2/pull/107 but need to find a better way to test validating the coverage info in userspace.
Nick Desaulniers (2): gcov: re-fix clang-11+ support gcov: re-drop support for clang-10
kernel/gcov/clang.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-)
-- 2.31.1.295.g9ea45b61b8-goog
| |