* [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0
@ 2025-08-21 21:15 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 01/12] kbuild: Bump minimum " Nathan Chancellor
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Nathan Chancellor @ 2025-08-21 21:15 UTC (permalink / raw)
To: linux-kernel
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nicolas Schier, Nathan Chancellor,
linux-kbuild, linux-hardening, Russell King, Ard Biesheuvel,
linux-arm-kernel, Will Deacon, Thomas Bogendoerfer, linux-mips,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy, linuxppc-dev, Palmer Dabbelt, Alexandre Ghiti,
linux-riscv, Marco Elver, Peter Zijlstra (Intel), kasan-dev
s390 and x86 have required LLVM 15 since
30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
respectively. This series bumps the rest of the kernel to 15.0.0 to
match, which allows for a decent number of clean ups.
On the distros front, we will only leave behind Debian Bookworm and
Ubuntu Jammy. In both of those cases, builders / developers can either
use the kernel.org toolchains or https://apt.llvm.org to get newer
versions that will run on those distributions, if they cannot upgrade.
archlinux:latest clang version 20.1.8
debian:oldoldstable-slim Debian clang version 11.0.1-2
debian:oldstable-slim Debian clang version 14.0.6
debian:stable-slim Debian clang version 19.1.7 (3+b1)
debian:testing-slim Debian clang version 19.1.7 (3+b1)
debian:unstable-slim Debian clang version 19.1.7 (3+b2)
fedora:41 clang version 19.1.7 (Fedora 19.1.7-4.fc41)
fedora:latest clang version 20.1.8 (Fedora 20.1.8-3.fc42)
fedora:rawhide clang version 20.1.8 (Fedora 20.1.8-3.fc43)
opensuse/leap:latest clang version 17.0.6
opensuse/tumbleweed:latest clang version 20.1.8
ubuntu:focal clang version 10.0.0-4ubuntu1
ubuntu:jammy Ubuntu clang version 14.0.0-1ubuntu1.1
ubuntu:noble Ubuntu clang version 18.1.3 (1ubuntu1)
ubuntu:latest Ubuntu clang version 18.1.3 (1ubuntu1)
ubuntu:rolling Ubuntu clang version 20.1.2 (0ubuntu1)
ubuntu:devel Ubuntu clang version 20.1.8 (0ubuntu1)
I plan to carry this via the Kbuild tree with the appropriate acks.
---
Changes in v2:
- Add two new patches for RISC-V to clean up more LLD_VERSION checks
(Alex)
- Pick up provided tags (thanks all!)
- Link to v1: https://lore.kernel.org/r/20250818-bump-min-llvm-ver-15-v1-0-c8b1d0f955e0@kernel.org
---
Nathan Chancellor (12):
kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0
arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET
ARM: Clean up definition of ARM_HAS_GROUP_RELOCS
arm64: Remove tautological LLVM Kconfig conditions
mips: Unconditionally select ARCH_HAS_CURRENT_STACK_POINTER
powerpc: Drop unnecessary initializations in __copy_inst_from_kernel_nofault()
riscv: Remove version check for LTO_CLANG selects
riscv: Unconditionally use linker relaxation
riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
lib/Kconfig.debug: Drop CLANG_VERSION check from DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
KMSAN: Remove tautological checks
Documentation/process/changes.rst | 2 +-
arch/Kconfig | 1 -
arch/arm/Kconfig | 11 ++++-------
arch/arm64/Kconfig | 5 +----
arch/mips/Kconfig | 2 +-
arch/powerpc/include/asm/inst.h | 4 ----
arch/riscv/Kconfig | 21 +++++++--------------
arch/riscv/Makefile | 9 +--------
lib/Kconfig.debug | 2 +-
lib/Kconfig.kcsan | 6 ------
lib/Kconfig.kmsan | 11 +----------
scripts/min-tool-version.sh | 6 ++----
tools/objtool/check.c | 10 ----------
13 files changed, 19 insertions(+), 71 deletions(-)
---
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
change-id: 20250710-bump-min-llvm-ver-15-95231f1eb655
Best regards,
--
Nathan Chancellor <nathan@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 01/12] kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
@ 2025-08-21 21:15 ` Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported " Nathan Chancellor
2025-10-09 1:07 ` patchwork-bot+linux-riscv
2 siblings, 0 replies; 4+ messages in thread
From: Nathan Chancellor @ 2025-08-21 21:15 UTC (permalink / raw)
To: linux-kernel
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nicolas Schier, Nathan Chancellor,
linux-kbuild
s390 and x86 have required LLVM 15 since
30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
respectively but most other architectures allow LLVM 13.0.1 or newer. In
accordance with the recent minimum supported version of GCC bump that
happened in
118c40b7b503 ("kbuild: require gcc-8 and binutils-2.30")
do the same for LLVM to 15.0.0.
Of the supported releases of Arch Linux, Debian, Fedora, and OpenSUSE
surveyed in evaluating this bump, this only leaves behind Debian
Bookworm (14.0.6) and Ubuntu Jammy (14.0.0). Debian Trixie has 19.1.7
and Ubuntu Noble has 18.1.3 (so there are viable upgrade paths) or users
can use apt.llvm.org, which provides even newer packages for those
distributions.
Reviewed-by: Kees Cook <kees@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Schier <nsc@kernel.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
Cc: linux-kbuild@vger.kernel.org
---
Documentation/process/changes.rst | 2 +-
scripts/min-tool-version.sh | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index bccfa19b45df..b38622b0d525 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -30,7 +30,7 @@ you probably needn't concern yourself with pcmciautils.
Program Minimal version Command to check the version
====================== =============== ========================================
GNU C 8.1 gcc --version
-Clang/LLVM (optional) 13.0.1 clang --version
+Clang/LLVM (optional) 15.0.0 clang --version
Rust (optional) 1.78.0 rustc --version
bindgen (optional) 0.65.1 bindgen --version
GNU make 4.0 make --version
diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh
index 0d223b4a9445..99b5575c1ef7 100755
--- a/scripts/min-tool-version.sh
+++ b/scripts/min-tool-version.sh
@@ -24,12 +24,10 @@ gcc)
fi
;;
llvm)
- if [ "$SRCARCH" = s390 -o "$SRCARCH" = x86 ]; then
- echo 15.0.0
- elif [ "$SRCARCH" = loongarch ]; then
+ if [ "$SRCARCH" = loongarch ]; then
echo 18.0.0
else
- echo 13.0.1
+ echo 15.0.0
fi
;;
rustc)
--
2.50.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 01/12] kbuild: Bump minimum " Nathan Chancellor
@ 2025-08-29 22:33 ` Nathan Chancellor
2025-10-09 1:07 ` patchwork-bot+linux-riscv
2 siblings, 0 replies; 4+ messages in thread
From: Nathan Chancellor @ 2025-08-29 22:33 UTC (permalink / raw)
To: linux-kernel, Nathan Chancellor
Cc: Arnd Bergmann, Kees Cook, Nick Desaulniers, Bill Wendling,
Justin Stitt, llvm, patches, Nicolas Schier, linux-kbuild,
linux-hardening, Russell King, Ard Biesheuvel, linux-arm-kernel,
Will Deacon, Thomas Bogendoerfer, linux-mips, Madhavan Srinivasan,
Michael Ellerman, Nicholas Piggin, Christophe Leroy, linuxppc-dev,
Palmer Dabbelt, Alexandre Ghiti, linux-riscv, Marco Elver,
Peter Zijlstra (Intel), kasan-dev
On Thu, 21 Aug 2025 14:15:37 -0700, Nathan Chancellor wrote:
> s390 and x86 have required LLVM 15 since
>
> 30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
> 7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
>
> respectively. This series bumps the rest of the kernel to 15.0.0 to
> match, which allows for a decent number of clean ups.
>
> [...]
Applied, thanks!
[01/12] kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0
https://git.kernel.org/kbuild/c/20c0989283564
[02/12] arch/Kconfig: Drop always true condition from RANDOMIZE_KSTACK_OFFSET
https://git.kernel.org/kbuild/c/65aebf6f5880e
[03/12] ARM: Clean up definition of ARM_HAS_GROUP_RELOCS
https://git.kernel.org/kbuild/c/02aba266e391f
[04/12] arm64: Remove tautological LLVM Kconfig conditions
https://git.kernel.org/kbuild/c/23cb0514208da
[05/12] mips: Unconditionally select ARCH_HAS_CURRENT_STACK_POINTER
https://git.kernel.org/kbuild/c/e633c2e78fd1c
[06/12] powerpc: Drop unnecessary initializations in __copy_inst_from_kernel_nofault()
https://git.kernel.org/kbuild/c/488954ca195d0
[07/12] riscv: Remove version check for LTO_CLANG selects
https://git.kernel.org/kbuild/c/6578a1ff6aa49
[08/12] riscv: Unconditionally use linker relaxation
https://git.kernel.org/kbuild/c/7ccbe91796d7b
[09/12] riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
https://git.kernel.org/kbuild/c/87b28d71396bf
[10/12] lib/Kconfig.debug: Drop CLANG_VERSION check from DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
https://git.kernel.org/kbuild/c/a817de20091c3
[11/12] objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
https://git.kernel.org/kbuild/c/573ad421cc551
[12/12] KMSAN: Remove tautological checks
https://git.kernel.org/kbuild/c/5ff8c11775c74
Best regards,
--
Nathan Chancellor <nathan@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 01/12] kbuild: Bump minimum " Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported " Nathan Chancellor
@ 2025-10-09 1:07 ` patchwork-bot+linux-riscv
2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+linux-riscv @ 2025-10-09 1:07 UTC (permalink / raw)
To: Nathan Chancellor
Cc: linux-riscv, linux-kernel, arnd, kees, nick.desaulniers+lkml,
morbo, justinstitt, llvm, patches, nsc, linux-kbuild,
linux-hardening, linux, ardb, linux-arm-kernel, will, tsbogend,
linux-mips, maddy, mpe, npiggin, christophe.leroy, linuxppc-dev,
palmer, alex, elver, peterz, kasan-dev
Hello:
This series was applied to riscv/linux.git (for-next)
by Nathan Chancellor <nathan@kernel.org>:
On Thu, 21 Aug 2025 14:15:37 -0700 you wrote:
> s390 and x86 have required LLVM 15 since
>
> 30d17fac6aae ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
> 7861640aac52 ("x86/build: Raise the minimum LLVM version to 15.0.0")
>
> respectively. This series bumps the rest of the kernel to 15.0.0 to
> match, which allows for a decent number of clean ups.
>
> [...]
Here is the summary with links:
- [v2,07/12] riscv: Remove version check for LTO_CLANG selects
https://git.kernel.org/riscv/c/6578a1ff6aa4
- [v2,08/12] riscv: Unconditionally use linker relaxation
https://git.kernel.org/riscv/c/7ccbe91796d7
- [v2,09/12] riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
https://git.kernel.org/riscv/c/87b28d71396b
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-10-09 1:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 21:15 [PATCH v2 00/12] Bump minimum supported version of LLVM for building the kernel to 15.0.0 Nathan Chancellor
2025-08-21 21:15 ` [PATCH v2 01/12] kbuild: Bump minimum " Nathan Chancellor
2025-08-29 22:33 ` [PATCH v2 00/12] Bump minimum supported " Nathan Chancellor
2025-10-09 1:07 ` patchwork-bot+linux-riscv
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).