]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Makefile: fix host CPP pollution in cmd_gen_envp 939/head
authorLevi Shafter <levi.shafter@elder-tomes.com>
Fri, 17 Apr 2026 22:45:09 +0000 (16:45 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 24 Apr 2026 18:49:27 +0000 (12:49 -0600)
Commit 2956a84ba701 ("Makefile: don't use CFLAGS for environment text
file") switched cmd_gen_envp to use $(cpp_flags) so that KCPPFLAGS would
be honored when preprocessing the environment text file. However,
cpp_flags also includes $(PLATFORM_CPPFLAGS), which carries
architecture-specific flags such as -march=armv8-a+crc set by
arch/arm/Makefile for CONFIG_ARM64_CRC32=y targets. These flags are
appropriate for cross-compiled object files but cause the host CPP
invocation to fail on x86 build machines:

  cc1: error: bad value ('armv8-a+crc') for '-march=' switch

KBUILD_CPPFLAGS already accumulates the user-supplied KCPPFLAGS via
"KBUILD_CPPFLAGS += $(KCPPFLAGS)", providing the behaviour 2956a84
intended without pulling in target architecture flags. Use it directly.

Fixes: 2956a84ba701 ("Makefile: don't use CFLAGS for environment text file")
Signed-off-by: Levi Shafter <levi.shafter@elder-tomes.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Makefile

index dfc95d314ddd9d48eb5835d4270b94dfbb51deca..e2b8e6a19152f466b96caadd5927a68aad0b77c3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2147,7 +2147,8 @@ ENV_FILE := $(if $(ENV_SOURCE_FILE),$(ENV_FILE_CFG),$(wildcard $(ENV_FILE_BOARD)
 quiet_cmd_gen_envp = ENVP    $@
       cmd_gen_envp = \
        if [ -s "$(ENV_FILE)" ]; then \
-               $(CPP) -P $(cpp_flags) -x assembler-with-cpp -undef \
+               $(CPP) -P $(KBUILD_CPPFLAGS) $(UBOOTINCLUDE) \
+                       -x assembler-with-cpp -undef \
                        -D__ASSEMBLY__ \
                        -D__UBOOT_CONFIG__ \
                        -DDEFAULT_DEVICE_TREE=$(subst ",,$(CONFIG_DEFAULT_DEVICE_TREE)) \