[PATCH] powerpc/boot: Fix compilation of uImage for e500 platforms

From: Pali Rohár
Date: Sat Aug 20 2022 - 06:52:53 EST


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.

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)

--
2.20.1