[PATCH] ARM: disallow pre-ARMv5 builds with ld.lld
Nathan Chancellor
nathan at kernel.org
Fri Dec 16 15:10:32 PST 2022
On Thu, Dec 15, 2022 at 05:26:20PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
>
> lld cannot build for ARMv4/v4T targets because it inserts 'blx' instructions
> that are unsupported there:
>
> ld.lld: warning: lld uses blx instruction, no object with architecture supporting feature detected
>
> Add a Kconfig time dependency to prevent those targets from being
> selected in randconfig builds.
>
> Link: https://github.com/llvm/llvm-project/issues/50764
> Link: https://github.com/ClangBuiltLinux/linux/issues/964
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Reviewed-by: Nathan Chancellor <nathan at kernel.org>
> ---
> arch/arm/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 4a8fff7f9be0..d995054ab602 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -344,12 +344,14 @@ comment "CPU Core family selection"
> config ARCH_MULTI_V4
> bool "ARMv4 based platforms (FA526, StrongARM)"
> depends on !ARCH_MULTI_V6_V7
> + depends on !LD_IS_LLD
> select ARCH_MULTI_V4_V5
> select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
>
> config ARCH_MULTI_V4T
> bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
> depends on !ARCH_MULTI_V6_V7
> + depends on !LD_IS_LLD
> select ARCH_MULTI_V4_V5
> select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
> CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
> --
> 2.35.1
>
More information about the linux-arm-kernel
mailing list