Re: [PATCH] powerpc/boot: Fix compilation of uImage for e500 platforms
From: Christophe Leroy
Date: Tue Aug 23 2022 - 14:35:42 EST
Le 20/08/2022 à 12:52, Pali Rohár a écrit :
> Commit 40a75584e526 ("powerpc/boot: Build wrapper for an appropriate CPU")
> broke compilation of uImage target for mpc85xx platforms by powerpc e500
> SPE capable cross compilers. After that commit build process throws error:
>
> BOOTAS arch/powerpc/boot/crt0.o
> powerpc-linux-gnuspe-gcc: error: unrecognized argument in option ‘-mcpu=powerpc’
> powerpc-linux-gnuspe-gcc: note: valid arguments to ‘-mcpu=’ are: 8540 8548 native
> make[1]: *** [arch/powerpc/boot/Makefile:231: arch/powerpc/boot/crt0.o] Error 1
>
> Fix this issue by checking for CONFIG_PPC_E500MC / CONFIG_E500 options and
> applying appropriate -mcpu options for building uImage boot code.
This is very specific to e500, could you instead do something using
CONFIG_TARGET_CPU, just like commit 446cda1b21d9 ("powerpc/32: Don't
always pass -mcpu=powerpc to the compiler")
Thanks
Christophe
>
> Fixes: 40a75584e526 ("powerpc/boot: Build wrapper for an appropriate CPU")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
> ---
> arch/powerpc/boot/Makefile | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index a9cd2ea4a861..d7cf5d87e4bc 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -44,8 +44,14 @@ else
> BOOTCFLAGS += -m64 -mcpu=powerpc64
> endif
> else
> +ifdef CONFIG_PPC_E500MC
> +BOOTCFLAGS += -m32 $(call cc-option,-mcpu=e500mc,-mcpu=powerpc)
> +else ifdef CONFIG_E500
> +BOOTCFLAGS += -m32 $(call cc-option,-mcpu=8540 -msoft-float,-mcpu=powerpc)
> +else
> BOOTCFLAGS += -m32 -mcpu=powerpc
> endif
> +endif
>
> BOOTCFLAGS += -isystem $(shell $(BOOTCC) -print-file-name=include)
>