On Thu, 25 Jan 2024 at 23:56, Nathan Chancellor <nathan@xxxxxxxxxx> 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@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > --- > Cc: linux@xxxxxxxxxxxxxxx > Cc: ardb@xxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > --- > 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 >