Re: [PATCH v2] powerpc: Pass correct CPU reference to assembler

From: Christophe Leroy
Date: Fri Dec 16 2022 - 12:57:57 EST


CC Joel for the -many subject.

Le 16/12/2022 à 18:18, Segher Boessenkool a écrit :
> Hi!
>
> On Fri, Dec 16, 2022 at 09:35:50AM +0100, Christophe Leroy wrote:
>> The problem comes from the fact that CONFIG_PPC_E500MC is selected for
>> both the e500mc (32 bits) and the e5500 (64 bits), and therefore the
>> following makefile rule is wrong:
>>
>> cpu-as-$(CONFIG_PPC_E500MC) += $(call as-option,-Wa$(comma)-me500mc)
>
> Yes.
>
>> Today we have CONFIG_TARGET_CPU which provides the identification of the
>> expected CPU, it is used for GCC. Use it as well for the assembler.
>
> Why do you use -Wa, at all for this? The compiler should already pass
> proper options always!

That's historical I guess. Comes from commit 14cf11af6cf6 ("powerpc:
Merge enough to start building in arch/powerpc.")

>
>> +cpu-as-$(CONFIG_PPC_BOOK3S_64) += $(call as-option,-Wa$(comma)-many)
>
> What is this for? Using -many is a huge step back, it hides many
> problems :-(

The only thing I did is removed the -Wa,-mpower4 from the line, leaving
the remaining part. Initialy it was:

cpu-as-$(CONFIG_PPC_BOOK3S_64) += $(call as-option,-Wa$(comma)-mpower4)
$(call as-option,-Wa$(comma)-many)

It was added in 2018 by commit 960e30029863 ("powerpc/Makefile: Fix
PPC_BOOK3S_64 ASFLAGS"). There is a long explanation it the commit.

Should we remove it ?

Christophe