Re: [PATCH v1 12/13] tools headers: Sync compiler.h headers

From: James Clark
Date: Mon Mar 11 2024 - 12:34:43 EST




On 10/03/2024 02:05, Ian Rogers wrote:
> compiler.h - synced from include/linux/compiler.h, guards were
> added to definitions to avoid redefinition of macros
> in libc. ftrace, CONFIG_OBJTOOL and kentry logic was removed as
> redundant.
>

Hi Ian,

This commit breaks the Arm build (and cross compilation for Arm on x86):

$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

Something like this, but I won't paste the whole output because it's huge:

tools/include/linux/ring_buffer.h: In function ‘ring_buffer_read_head’:

tools/include/asm/../../arch/arm64/include/asm/barrier.h:72:35: error:
‘__u8_alias_t’ undeclared (first use in this function)
72 | : "=r" (*(__u8_alias_t *)__u.__c)
\
| ^~~~~~~~~~~~
tools/include/linux/ring_buffer.h:59:16: note: in expansion of macro
‘smp_load_acquire’
59 | return smp_load_acquire(&base->data_head);
| ^~~~~~~~~~~~~~~~

Thanks
James