ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer
Commit6a7ee50f8f
("ARM: disallow pre-ARMv5 builds with ld.lld") prevented v4 or v4t kernels when ld.lld will link the kernel due to inserting unsupported blx instructions. ld.lld has been fixed in current main (16.0.0) to avoid inserting these instructions by inserting position independent thunks instead. Allow these configurations to be enabled when ld.lld 16.0.0 is used to link the kernel. Additionally, add a link to the upstream LLVM issue so that the reason for this dependency is clearly documented. Link: https://github.com/ClangBuiltLinux/linux/issues/964 Link:6f9ff1beee
Suggested-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
cfb1076d15
commit
5eb6e28043
|
@ -345,14 +345,16 @@ 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
|
||||
# https://github.com/llvm/llvm-project/issues/50764
|
||||
depends on !LD_IS_LLD || LLD_VERSION >= 160000
|
||||
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
|
||||
# https://github.com/llvm/llvm-project/issues/50764
|
||||
depends on !LD_IS_LLD || LLD_VERSION >= 160000
|
||||
select ARCH_MULTI_V4_V5
|
||||
select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
|
||||
CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
|
||||
|
|
Loading…
Reference in New Issue