[RFC PATCH 0/4] Enable Clang's Source-based Code Coverage and MC/DC for x86-64
Peter Zijlstra
peterz at infradead.org
Wed Oct 15 00:37:01 PDT 2025
On Tue, Oct 14, 2025 at 07:26:35PM -0400, Sasha Levin wrote:
> This series adds support for Clang's Source-based Code Coverage to the
> Linux kernel, enabling more accurate coverage measurement at the source
> level compared to gcov. This is particularly valuable for safety-critical
> use cases (automotive, medical, aerospace) where MC/DC coverage is required
> for certification.
>
> Changes since previous patchset [1]:
> - Rebased on v6.18-rc1
> - Adapted to lib/crypto reorganization (curve25519 exclusion moved to
> lib/crypto/Makefile)
> - Minor correctness fixes throughout the codebase
>
> The implementation has been tested with a kernel build using Clang 18+ and
> boots successfully in a KVM environment with instrumentation enabled.
>
> [1] https://lore.kernel.org/all/20240905043245.1389509-1-wentaoz5@illinois.edu/
>
> Wentao Zhang (4):
> llvm-cov: add Clang's Source-based Code Coverage support
> llvm-cov: add Clang's MC/DC support
> x86: disable llvm-cov instrumentation
> x86: enable llvm-cov support
>
> Makefile | 9 ++
> arch/Kconfig | 1 +
> arch/x86/Kconfig | 2 +
> arch/x86/crypto/Makefile | 1 +
> arch/x86/kernel/vmlinux.lds.S | 2 +
> include/asm-generic/vmlinux.lds.h | 36 +++++
> kernel/Makefile | 1 +
> kernel/llvm-cov/Kconfig | 121 ++++++++++++++
> kernel/llvm-cov/Makefile | 8 +
> kernel/llvm-cov/fs.c | 253 ++++++++++++++++++++++++++++++
> kernel/llvm-cov/llvm-cov.h | 157 ++++++++++++++++++
> lib/crypto/Makefile | 3 +-
> scripts/Makefile.lib | 23 +++
> scripts/mod/modpost.c | 2 +
I'm thinking I'm going to NAK this based on the fact that I'm not
interested in playing file based games. As long as this thing doesn't
honour noinstr I don't want this near x86.
And we have kcov support, and gcov and now llvm-cov, surely 3 coverage
solutions is like 2 too many?
More information about the linux-um
mailing list