]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arch: arm: fix AArch64 builds with Clang 21+
authorDmitrii Sharshakov <d3dx12.xx@gmail.com>
Sat, 8 Nov 2025 20:48:47 +0000 (21:48 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 18 Nov 2025 21:52:11 +0000 (15:52 -0600)
Clang is strict with respect to unknown options.

Therefore, only enable AArch32-specific options when CONFIG_ARM64
is not set.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
arch/arm/config.mk

index ba7dd99672aa5d38442a8276940ad154e4dcd730..73fddd50bd7a78f1e3bbf3a60803e02e2394f900 100644 (file)
@@ -30,18 +30,19 @@ PLATFORM_RELFLAGS += $(call cc-option,-mgeneral-regs-only)
 endif
 
 # LLVM support
-LLVM_RELFLAGS          := $(call cc-option,-mllvm,) \
-                       $(call cc-option,-mno-movt,)
-PLATFORM_RELFLAGS      += $(LLVM_RELFLAGS)
-
+LLVM_RELFLAGS          := $(call cc-option,-mllvm,)
 PLATFORM_CPPFLAGS += -D__ARM__
 
 ifdef CONFIG_ARM64
 PLATFORM_ELFFLAGS += -B aarch64 -O elf64-littleaarch64
 else
 PLATFORM_ELFFLAGS += -B arm -O elf32-littlearm
+# no-movt is only available when targeting AArch32
+LLVM_RELFLAGS  += $(call cc-option,-mno-movt,)
 endif
 
+PLATFORM_RELFLAGS      += $(LLVM_RELFLAGS)
+
 # Choose between ARM/Thumb instruction sets
 ifeq ($(CONFIG_$(PHASE_)SYS_THUMB_BUILD),y)
 AFLAGS_IMPLICIT_IT     := $(call as-option,-Wa$(comma)-mimplicit-it=always)
@@ -50,7 +51,7 @@ PF_CPPFLAGS_ARM               := $(AFLAGS_IMPLICIT_IT) \
                        $(call cc-option,-marm,)\
                        $(call cc-option,-mno-thumb-interwork,)\
                )
-else
+else ifneq ($(CONFIG_ARM64),y)
 PF_CPPFLAGS_ARM := $(call cc-option,-marm,) \
                $(call cc-option,-mno-thumb-interwork,)
 endif