From: "Pali Rohár" <pali@kernel.org>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Paul Mackerras <paulus@samba.org>, Joel Stanley <joel@jms.id.au>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH v3] powerpc/boot: Don't always pass -mcpu=powerpc when building 32-bit uImage
Date: Thu, 8 Dec 2022 20:16:02 +0100 [thread overview]
Message-ID: <20221208191602.diywrt3g2f6zmt4s@pali> (raw)
In-Reply-To: <d49c5905-ff68-00e9-ddaf-d60d5e5ebe65@csgroup.eu>
On Sunday 28 August 2022 17:43:53 Christophe Leroy wrote:
> Le 28/08/2022 à 19:41, Pali Rohár a écrit :
> > On Sunday 28 August 2022 17:39:25 Christophe Leroy wrote:
> >> Le 28/08/2022 à 19:33, Christophe Leroy a écrit :
> >>>
> >>>
> >>> Le 28/08/2022 à 11:56, Pali Rohár a écrit :
> >>>> When CONFIG_TARGET_CPU is specified then pass its value to the compiler
> >>>> -mcpu option. This fixes following build error when building kernel with
> >>>> powerpc e500 SPE capable cross compilers:
> >>>>
> >>>> 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
> >>>
> >>> corenet64_smp_defconfig :
> >>>
> >>> BOOTAS arch/powerpc/boot/crt0.o
> >>> powerpc64-linux-gcc: error: missing argument to '-mcpu='
> >>> make[1]: *** [arch/powerpc/boot/Makefile:237 : arch/powerpc/boot/crt0.o]
> >>> Erreur 1
> >>> make: *** [arch/powerpc/Makefile:253 : uImage] Erreur 2
> >>>
> >>>
> >>
> >> Seems like in fact, E5500_CPU and E6500_CPU are not taken into account
> >> in CONFIG_TARGET_CPU, and get special treatment directly in
> >> arch/powerpc/Makefile.
> >>
> >> This goes unnoticed because of CFLAGS-$(CONFIG_TARGET_CPU_BOOL) +=
> >> $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
> >>
> >> I think we need to fix that prior to your patch.
> >
> > It looks like that CONFIG_TARGET_CPU is broken.
> >
> > $ make ARCH=powerpc corenet64_smp_defconfig CROSS_COMPILE=powerpc64-linux-gnu-
> > ...
> > # configuration written to .config
> >
> > $ grep CONFIG_TARGET_CPU .config
> > CONFIG_TARGET_CPU_BOOL=y
> >
> > CONFIG_TARGET_CPU_BOOL is set but CONFIG_TARGET_CPU not!
>
> Yes, because there is no default value for E5500_CPU and E6500_CPU. We
> need to add one for each.
With "[PATCH v1] powerpc/64: Set default CPU in Kconfig" patch from
https://lore.kernel.org/linuxppc-dev/3fd60c2d8a28668a42b766b18362a526ef47e757.1670420281.git.christophe.leroy@csgroup.eu/
this change does not throw above compile error anymore.
> >
> >>> Christophe
> >>>
> >>>
> >>>>
> >>>> Similar change was already introduced for the main powerpc Makefile in
> >>>> commit 446cda1b21d9 ("powerpc/32: Don't always pass -mcpu=powerpc to the
> >>>> compiler").
> >>>>
> >>>> Fixes: 40a75584e526 ("powerpc/boot: Build wrapper for an appropriate
> >>>> CPU")
> >>>> Cc: stable@vger.kernel.org # 446cda1b21d9 ("powerpc/32: Don't always
> >>>> pass -mcpu=powerpc to the compiler")
> >>>> Signed-off-by: Pali Rohár <pali@kernel.org>
> >>>> ---
> >>>> arch/powerpc/boot/Makefile | 14 ++++++++++----
> >>>> 1 file changed, 10 insertions(+), 4 deletions(-)
> >>>>
> >>>> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> >>>> index a9cd2ea4a861..1957a3de7a1c 100644
> >>>> --- a/arch/powerpc/boot/Makefile
> >>>> +++ b/arch/powerpc/boot/Makefile
> >>>> @@ -38,13 +38,19 @@ BOOTCFLAGS := -Wall -Wundef -Wstrict-prototypes
> >>>> -Wno-trigraphs \
> >>>> $(LINUXINCLUDE)
> >>>> ifdef CONFIG_PPC64_BOOT_WRAPPER
> >>>> -ifdef CONFIG_CPU_LITTLE_ENDIAN
> >>>> -BOOTCFLAGS += -m64 -mcpu=powerpc64le
> >>>> +BOOTCFLAGS += -m64
> >>>> else
> >>>> -BOOTCFLAGS += -m64 -mcpu=powerpc64
> >>>> +BOOTCFLAGS += -m32
> >>>> endif
> >>>> +
> >>>> +ifdef CONFIG_TARGET_CPU_BOOL
> >>>> +BOOTCFLAGS += -mcpu=$(CONFIG_TARGET_CPU)
> >>>> +else ifdef CONFIG_PPC64_BOOT_WRAPPER
> >>>> +ifdef CONFIG_CPU_LITTLE_ENDIAN
> >>>> +BOOTCFLAGS += -mcpu=powerpc64le
> >>>> else
> >>>> -BOOTCFLAGS += -m32 -mcpu=powerpc
> >>>> +BOOTCFLAGS += -mcpu=powerpc64
> >>>> +endif
> >>>> endif
> >>>> BOOTCFLAGS += -isystem $(shell $(BOOTCC) -print-file-name=include)
next prev parent reply other threads:[~2022-12-08 19:17 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-20 10:52 [PATCH] powerpc/boot: Fix compilation of uImage for e500 platforms Pali Rohár
2022-08-23 16:57 ` Christophe Leroy
2022-08-24 12:02 ` Pali Rohár
2022-08-27 13:39 ` [PATCH v2] powerpc/boot: Don't always pass -mcpu=powerpc when building 32-bit uImage Pali Rohár
2022-08-27 17:31 ` Christophe Leroy
2022-08-27 17:36 ` Pali Rohár
2022-08-27 18:32 ` Christophe Leroy
2022-08-27 18:36 ` Pali Rohár
2022-08-27 19:00 ` Pali Rohár
2022-08-28 7:23 ` Christophe Leroy
2022-08-28 9:19 ` Pali Rohár
2022-08-28 9:56 ` [PATCH v3] " Pali Rohár
2022-08-28 17:33 ` Christophe Leroy
2022-08-28 17:39 ` Christophe Leroy
2022-08-28 17:41 ` Pali Rohár
2022-08-28 17:43 ` Christophe Leroy
2022-08-29 8:54 ` Pali Rohár
2022-10-09 11:06 ` Pali Rohár
2022-11-01 22:12 ` Pali Rohár
2022-11-02 14:05 ` Christophe Leroy
2022-11-26 16:30 ` Pali Rohár
2022-12-07 13:39 ` Christophe Leroy
2022-12-08 19:16 ` Pali Rohár
2022-12-08 19:16 ` Pali Rohár [this message]
2022-12-08 19:57 ` Christophe Leroy
2022-12-24 17:44 ` Pali Rohár
2023-01-22 11:19 ` Pali Rohár
2023-01-25 7:41 ` Christophe Leroy
2023-02-20 7:28 ` Christophe Leroy
2023-02-20 8:08 ` Pali Rohár
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221208191602.diywrt3g2f6zmt4s@pali \
--to=pali@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=joel@jms.id.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).