Re: [PATCH net-next v2] page_pool: fix build on powerpc with GCC 14

From: Michael Ellerman
Date: Sun Sep 15 2024 - 08:20:26 EST


Christophe Leroy <christophe.leroy@xxxxxxxxxx> writes:
> Le 14/09/2024 à 04:02, Michael Ellerman a écrit :
...
>>
>> diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
>> index 5bf6a4d49268..0e41c1da82dd 100644
>> --- a/arch/powerpc/include/asm/atomic.h
>> +++ b/arch/powerpc/include/asm/atomic.h
>> @@ -23,6 +23,12 @@
>> #define __atomic_release_fence() \
>> __asm__ __volatile__(PPC_RELEASE_BARRIER "" : : : "memory")
>>
>> +#ifdef CONFIG_CC_IS_CLANG
>> +#define DS_FORM_CONSTRAINT "Z<>"
>> +#else
>> +#define DS_FORM_CONSTRAINT "YZ<>"
>> +#endif
>
> I see we have the same in uaccess.h, added by commit 2d43cc701b96
> ("powerpc/uaccess: Fix build errors seen with GCC 13/14")

Yep.

> Should that go in a common header, maybe ppc_asm.h ?

That would be the obvious place, but unfortunately including ppc_asm.h
in atomic.h breaks the build due to header spaghetti.

For now I've put the defines in asm-compat.h, which is not ideal but
seems to work.

cheers