From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: "Pali Rohár" <pali@kernel.org>
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: Sun, 28 Aug 2022 17:43:53 +0000 [thread overview]
Message-ID: <d49c5905-ff68-00e9-ddaf-d60d5e5ebe65@csgroup.eu> (raw)
In-Reply-To: <20220828174135.rcql4uiunqbnn5gh@pali>
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.
>
>>> 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-08-28 17:44 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 [this message]
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
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=d49c5905-ff68-00e9-ddaf-d60d5e5ebe65@csgroup.eu \
--to=christophe.leroy@csgroup.eu \
--cc=joel@jms.id.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=pali@kernel.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).