From: Ross Burton Date: Tue, 4 Aug 2026 11:41:34 +0000 (+0100) Subject: u-boot: always use GCC to build X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b15cdc4b46fbf99d2575a1abf0c15cf14d87f7d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git u-boot: always use GCC to build Previously, u-boot was almost always built with GCC because the kernel-arch inherit set TOOLCHAIN to KERNEL_TOOLCHAIN, which defaulted to 'gcc'. However, since kernel-arch inherit was removed, u-boot in theory now respects the default toolchain. In practise, the recipe hard-codes CC to be gcc, and there are known caveats building u-boot with clang[2]. In the long term we should be able to make this recipe respect TOOLCHAIN, as the upstream u-boot CI does build and test with clang, but for now fix the build by restoring the explicit use of gcc. [1] oe-core 8fb5470841b ("u-boot: Separate out from kernel-arch.bbclass") [2] https://docs.u-boot-project.org/en/latest/build/clang.html Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc index 3e2f5aa1a5..00a12f1bb9 100644 --- a/meta/recipes-bsp/u-boot/u-boot.inc +++ b/meta/recipes-bsp/u-boot/u-boot.inc @@ -3,6 +3,10 @@ PROVIDES = "virtual/bootloader" PACKAGE_ARCH = "${MACHINE_ARCH}" +# u-boot is best built with gcc +# https://docs.u-boot-project.org/en/latest/build/clang.html +TOOLCHAIN = "gcc" + DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'scr', 'u-boot-mkimage-native', '', d)}" DEPENDS += "${@ 'u-boot-mkenvimage-native' if bb.utils.to_boolean(d.getVar('UBOOT_INITIAL_ENV_BINARY')) else ''}"