[PATCH v3 01/16] Makefile: detect HOST_ARCH properly when CROSS_COMPILE is multi-word
Jerome Forissier
jerome.forissier at linaro.org
Wed Sep 11 11:44:20 CEST 2024
Hi Simon,
TL;DR: I am dropping this patch in v4.
On 9/10/24 20:44, Simon Glass wrote:
> Hi Jerome,
>
> On Fri, 6 Sept 2024 at 09:10, Jerome Forissier
> <jerome.forissier at linaro.org> wrote:
>>
>> Hello Simon,
>>
>> On 9/6/24 17:02, Simon Glass wrote:
>>> Hi Jerome,
>>>
>>> On Tue, 3 Sept 2024 at 02:38, Jerome Forissier
>>> <jerome.forissier at 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
>>>> | ^~~~~
As you mentioned in your reply to this patch in v2 [1], this is not
a valid use case (CROSS_COMPILE should not be set for sandbox).
[1] http://patchwork.ozlabs.org/project/uboot/patch/e2f0809aa4b9d81cf1709a6b82d803a21ea1fac7.1725012294.git.jerome.forissier@linaro.org/#3377679
>>>>
>>>> A similar error occurs when the build is done via buildman and
>>>> ~/.buildman contains:
>>>>
>>>> [toolchain-wrapper]
>>>> wrapper = ccache
This problem is still present in -next though (which does have your
patch "buildman: Support building within a Python venv" [2]).
It is my patch "buildman/toolchain.py: do not set CROSS_COMPILE for
sandbox" [3] that solves the problem.
[2] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/
[3] http://patchwork.ozlabs.org/project/uboot/patch/f4defe07f87f6c9761b401d435da03460b3b0947.1725351676.git.jerome.forissier@linaro.org/
So all in all this patch is not needed.
Regards,
--
Jerome
>>>> Fix the issue by considering only the last word in $(CROSS_COMPILE).
>>>>
>>>> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
>>>> Reviewed-by: Peter Robinson <pbrobinson at gmail.com>
>>>> Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
>>>> Reviewed-by: Peter Robinson <pbrobinson at 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?
>>
>> Oops! No I didn't :-/ In fact I could not find the reference to the patch
>> in your initial email, then I forgot about it.
>> Would you like me to resend the whole series as v4 with your patch included?
>
> I just want to know that there is still a problem, with my patch. So
> yes please try it and update the commit messages as needed for the two
> affected patches.
>
> Regards,
> Simon
>
>
>>
>>>
>>> Regards,
>>> Simon
>>>
>>> [1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/
>>
>> Thanks,
>> --
>> Jerome
More information about the U-Boot
mailing list