
Hi Jerome,
On Tue, 3 Sept 2024 at 02:38, Jerome Forissier jerome.forissier@linaro.org wrote:
When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly detected and the sandbox build fail. It typically happens when using ccache. For example:
$ make sandbox_defconfig $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ CC="ccache x86_64-linux-gnu-gcc" [...] In file included from boot/bootmeth_efi.c:16: include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture 33 | #error Unsupported UEFI architecture | ^~~~~
A similar error occurs when the build is done via buildman and ~/.buildman contains:
[toolchain-wrapper] wrapper = ccache
Fix the issue by considering only the last word in $(CROSS_COMPILE).
Signed-off-by: Jerome Forissier jerome.forissier@linaro.org Reviewed-by: Peter Robinson pbrobinson@gmail.com Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org Reviewed-by: Peter Robinson pbrobinson@gmail.com
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index f90e48f58a5..dc7bdd79420 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ include include/host_arch.h ifeq ("", "$(CROSS_COMPILE)") MK_ARCH="${shell uname -m}" else
- MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*([^/]*/)*([^-]*)-[^[:space:]]*/\2/p'}"
- MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*([^/]*/)*([^-]*)-[^[:space:]]*/\2/p'}"
endif unexport HOST_ARCH ifeq ("x86_64", $(MK_ARCH)) -- 2.40.1
I've lost track of this, but did you pull in [1] first?
Regards, Simon
[1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg...