Unverified Commit aa943a28 authored by Nathan Chancellor's avatar Nathan Chancellor
Browse files

Merge patch series "Bump minimum supported version of LLVM for building the kernel to 15.0.0"

s390 and x86 have required LLVM 15 since

  30d17fac ("scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390")
  7861640a ("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)

Link: https://lore.kernel.org/r/20250821-bump-min-llvm-ver-15-v2-0-635f3294e5f0@kernel.org


Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
parents 1e150869 5ff8c117
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+0 −1
Original line number Diff line number Diff line
@@ -1475,7 +1475,6 @@ config RANDOMIZE_KSTACK_OFFSET
	bool "Support for randomizing kernel stack offset on syscall entry" if EXPERT
	default y
	depends on HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET
	depends on INIT_STACK_NONE || !CC_IS_CLANG || CLANG_VERSION >= 140000
	help
	  The kernel stack offset can be randomized (after pt_regs) by
	  roughly 5 bits of entropy, frustrating memory corruption
+4 −7
Original line number Diff line number Diff line
@@ -166,15 +166,12 @@ config ARM
	  <http://www.arm.linux.org.uk/>.

config ARM_HAS_GROUP_RELOCS
	def_bool y
	depends on !LD_IS_LLD || LLD_VERSION >= 140000
	depends on !COMPILE_TEST
	def_bool !COMPILE_TEST
	help
	  Whether or not to use R_ARM_ALU_PC_Gn or R_ARM_LDR_PC_Gn group
	  relocations, which have been around for a long time, but were not
	  supported in LLD until version 14. The combined range is -/+ 256 MiB,
	  which is usually sufficient, but not for allyesconfig, so we disable
	  this feature when doing compile testing.
	  relocations. The combined range is -/+ 256 MiB, which is usually
	  sufficient, but not for allyesconfig, so we disable this feature
	  when doing compile testing.

config ARM_DMA_USE_IOMMU
	bool
+1 −4
Original line number Diff line number Diff line
@@ -1492,8 +1492,6 @@ choice

config CPU_BIG_ENDIAN
	bool "Build big-endian kernel"
	# https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
	depends on AS_IS_GNU || AS_VERSION >= 150000
	help
	  Say Y if you plan on running a kernel with a big-endian userspace.

@@ -2363,8 +2361,7 @@ config STACKPROTECTOR_PER_TASK

config UNWIND_PATCH_PAC_INTO_SCS
	bool "Enable shadow call stack dynamically using code patching"
	# needs Clang with https://github.com/llvm/llvm-project/commit/de07cde67b5d205d58690be012106022aea6d2b3 incorporated
	depends on CC_IS_CLANG && CLANG_VERSION >= 150000
	depends on CC_IS_CLANG
	depends on ARM64_PTR_AUTH_KERNEL && CC_HAS_BRANCH_PROT_PAC_RET
	depends on SHADOW_CALL_STACK
	select UNWIND_TABLES
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ config MIPS
	select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT
	select ARCH_HAS_CPU_CACHE_ALIASING
	select ARCH_HAS_CPU_FINALIZE_INIT
	select ARCH_HAS_CURRENT_STACK_POINTER if !CC_IS_CLANG || CLANG_VERSION >= 140000
	select ARCH_HAS_CURRENT_STACK_POINTER
	select ARCH_HAS_DEBUG_VIRTUAL if !64BIT
	select ARCH_HAS_DMA_OPS if MACH_JAZZ
	select ARCH_HAS_FORTIFY_SOURCE
Loading