[PATCH] ARM: disable ARMv6 for Clang older than 8.0

Stefan Agner stefan at agner.ch
Sun Sep 30 15:22:30 PDT 2018

The kernel passes the ArmV6K architecture to the compiler when
using the multi platform selection and enabling ARMv6. Clang
older than version 8.0 emit assembly with an non-existing CPU,
which then makes the assembler fail. Prevent the user from
selecting ARMv6 when using Clang before 8.0.

Signed-off-by: Stefan Agner <stefan at agner.ch>
Link: https://github.com/ClangBuiltLinux/linux/issues/55
 arch/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e8cd55a5b04c..8da160757381 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -671,6 +671,7 @@ config ARCH_MULTI_V4_V5
 config ARCH_MULTI_V6
 	bool "ARMv6 based platforms (ARM11)"
+	depends on !CC_IS_CLANG || CLANG_VERSION>=80000
 	select ARCH_MULTI_V6_V7
 	select CPU_V6K

More information about the linux-arm-kernel mailing list