* [PATCH 04/11] ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang
2024-01-25 22:55 [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Nathan Chancellor
@ 2024-01-25 22:55 ` Nathan Chancellor
2024-01-26 8:44 ` Ard Biesheuvel
2024-01-25 22:55 ` [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks Nathan Chancellor
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Nathan Chancellor @ 2024-01-25 22:55 UTC (permalink / raw)
To: akpm, masahiroy
Cc: nicolas, linux-kbuild, llvm, patches, linux-kernel,
Nathan Chancellor, linux, ardb, linux-arm-kernel
Now that the minimum supported version of LLVM for building the kernel
has been bumped to 13.0.1, the conditional expression added to
get_current() by commit c1e42efacb9b ("ARM: 9151/1: Thumb2: avoid
__builtin_thread_pointer() on Clang") is always true, as the build will
fail during the configuration stage for older LLVM versions. Remove it,
effectively reverting the aforementioned change.
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
Cc: linux@armlinux.org.uk
Cc: ardb@kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
arch/arm/include/asm/current.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/arm/include/asm/current.h b/arch/arm/include/asm/current.h
index 1e1178bf176d..5225cb1c803b 100644
--- a/arch/arm/include/asm/current.h
+++ b/arch/arm/include/asm/current.h
@@ -18,18 +18,12 @@ static __always_inline __attribute_const__ struct task_struct *get_current(void)
{
struct task_struct *cur;
-#if __has_builtin(__builtin_thread_pointer) && \
- defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) && \
- !(defined(CONFIG_THUMB2_KERNEL) && \
- defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 130001)
+#if __has_builtin(__builtin_thread_pointer) && defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO)
/*
* Use the __builtin helper when available - this results in better
* code, especially when using GCC in combination with the per-task
* stack protector, as the compiler will recognize that it needs to
* load the TLS register only once in every function.
- *
- * Clang < 13.0.1 gets this wrong for Thumb2 builds:
- * https://github.com/ClangBuiltLinux/linux/issues/1485
*/
cur = __builtin_thread_pointer();
#elif defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) || defined(CONFIG_SMP)
--
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH 04/11] ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang
2024-01-25 22:55 ` [PATCH 04/11] ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang Nathan Chancellor
@ 2024-01-26 8:44 ` Ard Biesheuvel
0 siblings, 0 replies; 9+ messages in thread
From: Ard Biesheuvel @ 2024-01-26 8:44 UTC (permalink / raw)
To: Nathan Chancellor
Cc: akpm, masahiroy, nicolas, linux-kbuild, llvm, patches,
linux-kernel, linux, linux-arm-kernel
On Thu, 25 Jan 2024 at 23:56, Nathan Chancellor <nathan@kernel.org> wrote:
>
> Now that the minimum supported version of LLVM for building the kernel
> has been bumped to 13.0.1, the conditional expression added to
> get_current() by commit c1e42efacb9b ("ARM: 9151/1: Thumb2: avoid
> __builtin_thread_pointer() on Clang") is always true, as the build will
> fail during the configuration stage for older LLVM versions. Remove it,
> effectively reverting the aforementioned change.
>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> ---
> Cc: linux@armlinux.org.uk
> Cc: ardb@kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> arch/arm/include/asm/current.h | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/arch/arm/include/asm/current.h b/arch/arm/include/asm/current.h
> index 1e1178bf176d..5225cb1c803b 100644
> --- a/arch/arm/include/asm/current.h
> +++ b/arch/arm/include/asm/current.h
> @@ -18,18 +18,12 @@ static __always_inline __attribute_const__ struct task_struct *get_current(void)
> {
> struct task_struct *cur;
>
> -#if __has_builtin(__builtin_thread_pointer) && \
> - defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) && \
> - !(defined(CONFIG_THUMB2_KERNEL) && \
> - defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 130001)
> +#if __has_builtin(__builtin_thread_pointer) && defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO)
> /*
> * Use the __builtin helper when available - this results in better
> * code, especially when using GCC in combination with the per-task
> * stack protector, as the compiler will recognize that it needs to
> * load the TLS register only once in every function.
> - *
> - * Clang < 13.0.1 gets this wrong for Thumb2 builds:
> - * https://github.com/ClangBuiltLinux/linux/issues/1485
> */
> cur = __builtin_thread_pointer();
> #elif defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) || defined(CONFIG_SMP)
>
> --
> 2.43.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks
2024-01-25 22:55 [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Nathan Chancellor
2024-01-25 22:55 ` [PATCH 04/11] ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang Nathan Chancellor
@ 2024-01-25 22:55 ` Nathan Chancellor
2024-01-26 12:59 ` Mark Rutland
2024-01-25 23:10 ` [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Kees Cook
2024-03-25 4:42 ` patchwork-bot+linux-riscv
3 siblings, 1 reply; 9+ messages in thread
From: Nathan Chancellor @ 2024-01-25 22:55 UTC (permalink / raw)
To: akpm, masahiroy
Cc: nicolas, linux-kbuild, llvm, patches, linux-kernel,
Nathan Chancellor, catalin.marinas, will, mark.rutland,
linux-arm-kernel
Now that the minimum supported version of LLVM for building the kernel
has been bumped to 13.0.1, several conditions become tautologies, as
they will always be true because the build will fail during the
configuration stage for older LLVM versions. Drop them, as they are
unnecessary.
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
Cc: catalin.marinas@arm.com
Cc: will@kernel.org
Cc: mark.rutland@arm.com
Cc: linux-arm-kernel@lists.infradead.org
---
arch/arm64/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 5a8acca4dbf4..cb34e7d780c0 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
bool
# Clang's __builtin_return_adddress() strips the PAC since 12.0.0
# https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2
- default y if CC_IS_CLANG && (CLANG_VERSION >= 120000)
+ default y if CC_IS_CLANG
# GCC's __builtin_return_address() strips the PAC since 11.1.0,
# and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
@@ -1387,7 +1387,6 @@ choice
config CPU_BIG_ENDIAN
bool "Build big-endian kernel"
- depends on !LD_IS_LLD || LLD_VERSION >= 130000
# https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
depends on AS_IS_GNU || AS_VERSION >= 150000
help
@@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL
depends on !CC_IS_GCC || GCC_VERSION >= 100100
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
depends on !CC_IS_GCC
- # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
- depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
help
Build the kernel with Branch Target Identification annotations
--
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks
2024-01-25 22:55 ` [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks Nathan Chancellor
@ 2024-01-26 12:59 ` Mark Rutland
2024-01-26 16:10 ` Nathan Chancellor
0 siblings, 1 reply; 9+ messages in thread
From: Mark Rutland @ 2024-01-26 12:59 UTC (permalink / raw)
To: Nathan Chancellor
Cc: akpm, masahiroy, nicolas, linux-kbuild, llvm, patches,
linux-kernel, catalin.marinas, will, linux-arm-kernel
On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote:
> Now that the minimum supported version of LLVM for building the kernel
> has been bumped to 13.0.1, several conditions become tautologies, as
> they will always be true because the build will fail during the
> configuration stage for older LLVM versions. Drop them, as they are
> unnecessary.
>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> ---
> Cc: catalin.marinas@arm.com
> Cc: will@kernel.org
> Cc: mark.rutland@arm.com
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> arch/arm64/Kconfig | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 5a8acca4dbf4..cb34e7d780c0 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
> bool
> # Clang's __builtin_return_adddress() strips the PAC since 12.0.0
> # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2
> - default y if CC_IS_CLANG && (CLANG_VERSION >= 120000)
> + default y if CC_IS_CLANG
> # GCC's __builtin_return_address() strips the PAC since 11.1.0,
> # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
> @@ -1387,7 +1387,6 @@ choice
>
> config CPU_BIG_ENDIAN
> bool "Build big-endian kernel"
> - depends on !LD_IS_LLD || LLD_VERSION >= 130000
> # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
We can delete the URL here, since that was just to describe why this depended
upon LLVM 13+; it's weird for it to sit here on its own.
The URL above for __builtin_return_address() can stay or go; it may as well
stay since we have the comment aboout LLvm 12+ above it.
With that:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> depends on AS_IS_GNU || AS_VERSION >= 150000
> help
> @@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL
> depends on !CC_IS_GCC || GCC_VERSION >= 100100
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
> depends on !CC_IS_GCC
> - # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
> - depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
> depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
> help
> Build the kernel with Branch Target Identification annotations
>
> --
> 2.43.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks
2024-01-26 12:59 ` Mark Rutland
@ 2024-01-26 16:10 ` Nathan Chancellor
2024-01-26 17:00 ` Mark Rutland
0 siblings, 1 reply; 9+ messages in thread
From: Nathan Chancellor @ 2024-01-26 16:10 UTC (permalink / raw)
To: Mark Rutland
Cc: akpm, masahiroy, nicolas, linux-kbuild, llvm, patches,
linux-kernel, catalin.marinas, will, linux-arm-kernel
On Fri, Jan 26, 2024 at 12:59:55PM +0000, Mark Rutland wrote:
> On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote:
> > Now that the minimum supported version of LLVM for building the kernel
> > has been bumped to 13.0.1, several conditions become tautologies, as
> > they will always be true because the build will fail during the
> > configuration stage for older LLVM versions. Drop them, as they are
> > unnecessary.
> >
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> > ---
> > Cc: catalin.marinas@arm.com
> > Cc: will@kernel.org
> > Cc: mark.rutland@arm.com
> > Cc: linux-arm-kernel@lists.infradead.org
> > ---
> > arch/arm64/Kconfig | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index 5a8acca4dbf4..cb34e7d780c0 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
> > bool
> > # Clang's __builtin_return_adddress() strips the PAC since 12.0.0
> > # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2
> > - default y if CC_IS_CLANG && (CLANG_VERSION >= 120000)
> > + default y if CC_IS_CLANG
> > # GCC's __builtin_return_address() strips the PAC since 11.1.0,
> > # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
> > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
> > @@ -1387,7 +1387,6 @@ choice
> >
> > config CPU_BIG_ENDIAN
> > bool "Build big-endian kernel"
> > - depends on !LD_IS_LLD || LLD_VERSION >= 130000
> > # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
>
> We can delete the URL here, since that was just to describe why this depended
> upon LLVM 13+; it's weird for it to sit here on its own.
I think this is the URL for the fix for the problem brought up by
commit 146a15b87335 ("arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM
IAS 15.x or newer"), so I think it should stay? It does not look like I
ever added a link or context for the LLD line, I definitely should have.
> The URL above for __builtin_return_address() can stay or go; it may as well
> stay since we have the comment aboout LLvm 12+ above it.
That's the conclusion I came to as well.
Thanks a lot for taking a look!
Cheers,
Nathan
> With that:
>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
>
> Mark.
>
> > depends on AS_IS_GNU || AS_VERSION >= 150000
> > help
> > @@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL
> > depends on !CC_IS_GCC || GCC_VERSION >= 100100
> > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
> > depends on !CC_IS_GCC
> > - # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
> > - depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
> > depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
> > help
> > Build the kernel with Branch Target Identification annotations
> >
> > --
> > 2.43.0
> >
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks
2024-01-26 16:10 ` Nathan Chancellor
@ 2024-01-26 17:00 ` Mark Rutland
0 siblings, 0 replies; 9+ messages in thread
From: Mark Rutland @ 2024-01-26 17:00 UTC (permalink / raw)
To: Nathan Chancellor
Cc: akpm, masahiroy, nicolas, linux-kbuild, llvm, patches,
linux-kernel, catalin.marinas, will, linux-arm-kernel
On Fri, Jan 26, 2024 at 09:10:25AM -0700, Nathan Chancellor wrote:
> On Fri, Jan 26, 2024 at 12:59:55PM +0000, Mark Rutland wrote:
> > On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote:
> > > config CPU_BIG_ENDIAN
> > > bool "Build big-endian kernel"
> > > - depends on !LD_IS_LLD || LLD_VERSION >= 130000
> > > # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
> >
> > We can delete the URL here, since that was just to describe why this depended
> > upon LLVM 13+; it's weird for it to sit here on its own.
>
> I think this is the URL for the fix for the problem brought up by
> commit 146a15b87335 ("arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM
> IAS 15.x or newer"), so I think it should stay? It does not look like I
> ever added a link or context for the LLD line, I definitely should have.
Whoops; I clearly misread that, and yes it should stay.
Sorry about that; for the patch as-is:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1
2024-01-25 22:55 [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Nathan Chancellor
2024-01-25 22:55 ` [PATCH 04/11] ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang Nathan Chancellor
2024-01-25 22:55 ` [PATCH 05/11] arm64: Kconfig: Clean up tautological LLVM version checks Nathan Chancellor
@ 2024-01-25 23:10 ` Kees Cook
2024-03-25 4:42 ` patchwork-bot+linux-riscv
3 siblings, 0 replies; 9+ messages in thread
From: Kees Cook @ 2024-01-25 23:10 UTC (permalink / raw)
To: Nathan Chancellor
Cc: akpm, masahiroy, nicolas, linux-kbuild, llvm, patches,
linux-kernel, tglx, mingo, bp, dave.hansen, x86, linux, ardb,
linux-arm-kernel, catalin.marinas, will, mark.rutland, mpe,
npiggin, aneesh.kumar, naveen.n.rao, linuxppc-dev, paul.walmsley,
palmer, aou, conor, linux-riscv, linux-hardening
On Thu, Jan 25, 2024 at 03:55:06PM -0700, Nathan Chancellor wrote:
> Hi all,
>
> This series bumps the minimum supported version of LLVM for building the
> kernel to 13.0.1. The first patch does the bump and all subsequent
> patches clean up all the various workarounds and checks for earlier
> versions.
>
> Quoting the first patch's commit message for those that were only on CC
> for the clean ups:
>
> When __builtin_mul_overflow() has arguments that differ in terms of
> signedness and width, LLVM may generate a libcall to __muloti4 because
> it performs the checks in terms of 65-bit multiplication. This issue
> becomes harder to hit (but still possible) after LLVM 12.0.0, which
> includes a special case for matching widths but different signs.
>
> To gain access to this special case, which the kernel can take advantage
> of when calls to __muloti4 appear, bump the minimum supported version of
> LLVM for building the kernel to 13.0.1. 13.0.1 was chosen because there
> is minimal impact to distribution support while allowing a few more
> workarounds to be dropped in the kernel source than if 12.0.0 were
> chosen. Looking at container images of up to date distribution versions:
>
> archlinux:latest clang version 16.0.6
> debian:oldoldstable-slim clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
> debian:oldstable-slim Debian clang version 11.0.1-2
> debian:stable-slim Debian clang version 14.0.6
> debian:testing-slim Debian clang version 16.0.6 (19)
> debian:unstable-slim Debian clang version 16.0.6 (19)
> fedora:38 clang version 16.0.6 (Fedora 16.0.6-3.fc38)
> fedora:latest clang version 17.0.6 (Fedora 17.0.6-1.fc39)
> fedora:rawhide clang version 17.0.6 (Fedora 17.0.6-1.fc40)
> opensuse/leap:latest clang version 15.0.7
> opensuse/tumbleweed:latest clang version 17.0.6
> ubuntu:focal clang version 10.0.0-4ubuntu1
> ubuntu:latest Ubuntu clang version 14.0.0-1ubuntu1.1
> ubuntu:rolling Ubuntu clang version 16.0.6 (15)
> ubuntu:devel Ubuntu clang version 17.0.6 (3)
>
> The only distribution that gets left behind is Debian Bullseye, as the
> default version is 11.0.1; other distributions either have a newer
> version than 13.0.1 or one older than the current minimum of 11.0.0.
> Debian has easy access to more recent LLVM versions through
> apt.llvm.org, so this is not as much of a concern. There are also the
> kernel.org LLVM toolchains, which should work with distributions with
> glibc 2.28 and newer.
>
> Another benefit of slimming up the number of supported versions of LLVM
> for building the kernel is reducing the build capacity needed to support
> a matrix that builds with each supported version, which allows a matrix
> to reallocate the freed up build capacity towards something else, such
> as more configuration combinations.
>
> This passes my build matrix with all supported versions.
>
> This is based on Andrew's mm-nonmm-unstable to avoid trivial conflicts
> with my series to update the LLVM links across the repository [1] but I
> can easily rebase it to linux-kbuild if Masahiro would rather these
> patches go through there (and defer the conflict resolution to the merge
> window).
>
> [1]: https://lore.kernel.org/20240109-update-llvm-links-v1-0-eb09b59db071@kernel.org/
>
> ---
> Nathan Chancellor (11):
> kbuild: Raise the minimum supported version of LLVM to 13.0.1
> Makefile: Drop warn-stack-size plugin opt
> x86: Drop stack-alignment plugin opt
> ARM: Remove Thumb2 __builtin_thread_pointer workaround for Clang
> arm64: Kconfig: Clean up tautological LLVM version checks
> powerpc: Kconfig: Remove tautology in CONFIG_COMPAT
> riscv: Remove MCOUNT_NAME workaround
> riscv: Kconfig: Remove version dependency from CONFIG_CLANG_SUPPORTS_DYNAMIC_FTRACE
> fortify: Drop Clang version check for 12.0.1 or newer
> lib/Kconfig.debug: Update Clang version check in CONFIG_KCOV
> compiler-clang.h: Update __diag_clang() macros for minimum version bump
>
> Documentation/process/changes.rst | 2 +-
> Makefile | 8 --------
> arch/arm/include/asm/current.h | 8 +-------
> arch/arm64/Kconfig | 5 +----
> arch/powerpc/Kconfig | 1 -
> arch/riscv/Kconfig | 2 --
> arch/riscv/include/asm/ftrace.h | 14 ++------------
> arch/riscv/kernel/mcount.S | 10 +++++-----
> arch/x86/Makefile | 6 ------
> include/linux/compiler-clang.h | 8 ++------
> lib/Kconfig.debug | 2 +-
> scripts/min-tool-version.sh | 2 +-
> scripts/recordmcount.pl | 2 +-
> security/Kconfig | 2 --
> 14 files changed, 15 insertions(+), 57 deletions(-)
> ---
> base-commit: 979741ebd48f75ed6d101c7290e3325340d361ff
> change-id: 20240124-bump-min-llvm-ver-to-13-0-1-39f84dd36b19
>
> Best regards,
> --
> Nathan Chancellor <nathan@kernel.org>
>
Yes, please. :) This looks reasonable -- I appreciate the review of
default Clang versions across distros!
Reviewed-by: Kees Cook <keescook@chromium.org>
--
Kees Cook
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1
2024-01-25 22:55 [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Nathan Chancellor
` (2 preceding siblings ...)
2024-01-25 23:10 ` [PATCH 00/11] Bump the minimum supported version of LLVM to 13.0.1 Kees Cook
@ 2024-03-25 4:42 ` patchwork-bot+linux-riscv
3 siblings, 0 replies; 9+ messages in thread
From: patchwork-bot+linux-riscv @ 2024-03-25 4:42 UTC (permalink / raw)
To: Nathan Chancellor
Cc: linux-riscv, akpm, masahiroy, nicolas, linux-kbuild, llvm,
patches, linux-kernel, tglx, mingo, bp, dave.hansen, x86, linux,
ardb, linux-arm-kernel, catalin.marinas, will, mark.rutland, mpe,
npiggin, aneesh.kumar, naveen.n.rao, linuxppc-dev, paul.walmsley,
palmer, aou, conor, keescook, linux-hardening
Hello:
This series was applied to riscv/linux.git (fixes)
by Andrew Morton <akpm@linux-foundation.org>:
On Thu, 25 Jan 2024 15:55:06 -0700 you wrote:
> Hi all,
>
> This series bumps the minimum supported version of LLVM for building the
> kernel to 13.0.1. The first patch does the bump and all subsequent
> patches clean up all the various workarounds and checks for earlier
> versions.
>
> [...]
Here is the summary with links:
- [07/11] riscv: Remove MCOUNT_NAME workaround
https://git.kernel.org/riscv/c/de5f3984664e
- [08/11] riscv: Kconfig: Remove version dependency from CONFIG_CLANG_SUPPORTS_DYNAMIC_FTRACE
https://git.kernel.org/riscv/c/a38d97181271
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread