Due to include chain (below), powerpc's asm-compat.h is part of UAPI, thus it should use the __clang__ macro to directly detect whether Clang is used rather then relying on the kernel config setting. The later is unreliable because the userspace tools that uses UAPI may be compile with a different compiler than the one used for the kernel, leading to incorrect constrain selection (see link for an example of such).
include/uapi/linux/ptrace.h arch/powerpc/include/asm/ptrace.h arch/powerpc/include/asm/paca.h arch/powerpc/include/asm/atomic.h arch/powerpc/include/asm/asm-compat.h Link: https://github.com/iovisor/bcc/issues/5172 Signed-off-by: Shung-Hsi Yu <shung-hsi...@suse.com> --- arch/powerpc/include/asm/asm-compat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h index f48e644900a2..34f8740909a9 100644 --- a/arch/powerpc/include/asm/asm-compat.h +++ b/arch/powerpc/include/asm/asm-compat.h @@ -37,7 +37,7 @@ #define STDX_BE stringify_in_c(stdbrx) #endif -#ifdef CONFIG_CC_IS_CLANG +#ifdef __clang__ #define DS_FORM_CONSTRAINT "Z<>" #else #define DS_FORM_CONSTRAINT "YZ<>" -- 2.48.1