[PATCH v3] powerpc/boot: Don't always pass -mcpu=powerpc when building 32-bit uImage

Christophe Leroy christophe.leroy at csgroup.eu
Fri Dec 9 06:57:39 AEDT 2022



Le 08/12/2022 à 20:16, Pali Rohár a écrit :
> 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.


That patch should land in powerpc/next soon. When it has landed, could 
you resent this patch so that snowpatch checks the build again ?

Because at the time being it is flagged as "failed", see 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20220828095659.4061-1-pali@kernel.org/

Christophe


More information about the Linuxppc-dev mailing list