Message ID | 20240125-bump-min-llvm-ver-to-13-0-1-v1-4-f5ff9bda41c5@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Bump the minimum supported version of LLVM to 13.0.1 | expand |
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 >
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)
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(-)