Commit 6a7ee50f authored by Arnd Bergmann's avatar Arnd Bergmann

ARM: disallow pre-ARMv5 builds with ld.lld

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.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
Link: https://github.com/llvm/llvm-project/issues/50764
Link: https://github.com/ClangBuiltLinux/linux/issues/964
Link: https://lore.kernel.org/r/20221215162635.3750763-1-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 4b886159
...@@ -342,12 +342,14 @@ comment "CPU Core family selection" ...@@ -342,12 +342,14 @@ comment "CPU Core family selection"
config ARCH_MULTI_V4 config ARCH_MULTI_V4
bool "ARMv4 based platforms (FA526, StrongARM)" bool "ARMv4 based platforms (FA526, StrongARM)"
depends on !ARCH_MULTI_V6_V7 depends on !ARCH_MULTI_V6_V7
depends on !LD_IS_LLD
select ARCH_MULTI_V4_V5 select ARCH_MULTI_V4_V5
select CPU_FA526 if !(CPU_SA110 || CPU_SA1100) select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
config ARCH_MULTI_V4T config ARCH_MULTI_V4T
bool "ARMv4T based platforms (ARM720T, ARM920T, ...)" bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
depends on !ARCH_MULTI_V6_V7 depends on !ARCH_MULTI_V6_V7
depends on !LD_IS_LLD
select ARCH_MULTI_V4_V5 select ARCH_MULTI_V4_V5
select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \ select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \ CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment