Re: [PATCH] powerpc/barrier: Avoid collision with clang's __lwsync macro

From: Michael Ellerman
Date: Fri Jun 18 2021 - 00:24:15 EST


On Fri, 28 May 2021 11:27:52 -0700, Nathan Chancellor wrote:
> A change in clang 13 results in the __lwsync macro being defined as
> __builtin_ppc_lwsync, which emits 'lwsync' or 'msync' depending on what
> the target supports. This breaks the build because of -Werror in
> arch/powerpc, along with thousands of warnings:
>
> In file included from arch/powerpc/kernel/pmc.c:12:
> In file included from include/linux/bug.h:5:
> In file included from arch/powerpc/include/asm/bug.h:109:
> In file included from include/asm-generic/bug.h:20:
> In file included from include/linux/kernel.h:12:
> In file included from include/linux/bitops.h:32:
> In file included from arch/powerpc/include/asm/bitops.h:62:
> arch/powerpc/include/asm/barrier.h:49:9: error: '__lwsync' macro redefined [-Werror,-Wmacro-redefined]
> #define __lwsync() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory")
> ^
> <built-in>:308:9: note: previous definition is here
> #define __lwsync __builtin_ppc_lwsync
> ^
> 1 error generated.
>
> [...]

Applied to powerpc/next.

[1/1] powerpc/barrier: Avoid collision with clang's __lwsync macro
https://git.kernel.org/powerpc/c/015d98149b326e0f1f02e44413112ca8b4330543

cheers