ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer
authorNathan Chancellor <nathan@kernel.org>
Sun, 29 Jan 2023 14:49:07 +0000 (15:49 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 31 Jan 2023 10:18:54 +0000 (10:18 +0000)
commit5eb6e280432ddc9b755193552f3a070da8d7455c
treeb044ae064b9206d7c620e5d89f92157b11b687b8
parentcfb1076d1549f6d500da65a4593a67cba19cb041
ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer

Commit 6a7ee50f8f56 ("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: https://github.com/llvm/llvm-project/commit/6f9ff1beee9d12aca0c9caa9ae0051dc6d0a718c
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>
arch/arm/Kconfig