[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210407185456.41943-1-ndesaulniers@google.com>
Date: Wed, 7 Apr 2021 11:54:54 -0700
From: Nick Desaulniers <ndesaulniers@...gle.com>
To: Peter Oberparleiter <oberpar@...ux.ibm.com>
Cc: Nathan Chancellor <nathan@...nel.org>,
linux-kernel@...r.kernel.org, clang-built-linux@...glegroups.com,
Andrew Morton <akpm@...ux-foundation.org>,
Fangrui Song <maskray@...gle.com>,
Prasad Sodagudi <psodagud@...cinc.com>,
Nick Desaulniers <ndesaulniers@...gle.com>
Subject: [PATCH 0/2] gcov: re-fix clang-11 support
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
Powered by blists - more mailing lists