[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251014232639.673260-1-sashal@kernel.org>
Date: Tue, 14 Oct 2025 19:26:35 -0400
From: Sasha Levin <sashal@...nel.org>
To: nathan@...nel.org
Cc: Matt.Kelly2@...ing.com,
akpm@...ux-foundation.org,
andrew.j.oppelt@...ing.com,
anton.ivanov@...bridgegreys.com,
ardb@...nel.org,
arnd@...db.de,
bhelgaas@...gle.com,
bp@...en8.de,
chuck.wolber@...ing.com,
dave.hansen@...ux.intel.com,
dvyukov@...gle.com,
hpa@...or.com,
jinghao7@...inois.edu,
johannes@...solutions.net,
jpoimboe@...nel.org,
justinstitt@...gle.com,
kees@...nel.org,
kent.overstreet@...ux.dev,
linux-arch@...r.kernel.org,
linux-efi@...r.kernel.org,
linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org,
linux-um@...ts.infradead.org,
llvm@...ts.linux.dev,
luto@...nel.org,
marinov@...inois.edu,
masahiroy@...nel.org,
maskray@...gle.com,
mathieu.desnoyers@...icios.com,
matthew.l.weber3@...ing.com,
mhiramat@...nel.org,
mingo@...hat.com,
morbo@...gle.com,
ndesaulniers@...gle.com,
oberpar@...ux.ibm.com,
paulmck@...nel.org,
peterz@...radead.org,
richard@....at,
rostedt@...dmis.org,
samitolvanen@...gle.com,
samuel.sarkisian@...ing.com,
sashal@...nel.org,
steven.h.vanderleest@...ing.com,
tglx@...utronix.de,
tingxur@...inois.edu,
tyxu@...inois.edu,
wentaoz5@...inois.edu,
x86@...nel.org
Subject: [RFC PATCH 0/4] Enable Clang's Source-based Code Coverage and MC/DC for x86-64
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 +
14 files changed, 618 insertions(+), 1 deletion(-)
create mode 100644 kernel/llvm-cov/Kconfig
create mode 100644 kernel/llvm-cov/Makefile
create mode 100644 kernel/llvm-cov/fs.c
create mode 100644 kernel/llvm-cov/llvm-cov.h
--
2.51.0
Powered by blists - more mailing lists