Re: [PATCH] tools: Remove duplicate definition of ia64_mf() on ia64

From: John Paul Adrian Glaubitz
Date: Sun Mar 28 2021 - 03:25:16 EST


Hello!

On 3/23/21 7:25 PM, John Paul Adrian Glaubitz wrote:
> The ia64_mf() macro defined in tools/arch/ia64/include/asm/barrier.h
> is already defined in <asm/gcc_intrin.h> on ia64 which causes libbpf
> failing to build:
>
> CC /usr/src/linux/tools/bpf/bpftool//libbpf/staticobjs/libbpf.o
> In file included from /usr/src/linux/tools/include/asm/barrier.h:24,
> from /usr/src/linux/tools/include/linux/ring_buffer.h:4,
> from libbpf.c:37:
> /usr/src/linux/tools/include/asm/../../arch/ia64/include/asm/barrier.h:43: error: "ia64_mf" redefined [-Werror]
> 43 | #define ia64_mf() asm volatile ("mf" ::: "memory")
> |
> In file included from /usr/include/ia64-linux-gnu/asm/intrinsics.h:20,
> from /usr/include/ia64-linux-gnu/asm/swab.h:11,
> from /usr/include/linux/swab.h:8,
> from /usr/include/linux/byteorder/little_endian.h:13,
> from /usr/include/ia64-linux-gnu/asm/byteorder.h:5,
> from /usr/src/linux/tools/include/uapi/linux/perf_event.h:20,
> from libbpf.c:36:
> /usr/include/ia64-linux-gnu/asm/gcc_intrin.h:382: note: this is the location of the previous definition
> 382 | #define ia64_mf() __asm__ volatile ("mf" ::: "memory")
> |
> cc1: all warnings being treated as errors
>
> Thus, remove the definition from tools/arch/ia64/include/asm/barrier.h.
>
> Signed-off-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
> ---
> tools/arch/ia64/include/asm/barrier.h | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/tools/arch/ia64/include/asm/barrier.h b/tools/arch/ia64/include/asm/barrier.h
> index 4d471d9511a5..6fffe5682713 100644
> --- a/tools/arch/ia64/include/asm/barrier.h
> +++ b/tools/arch/ia64/include/asm/barrier.h
> @@ -39,9 +39,6 @@
> * sequential memory pages only.
> */
>
> -/* XXX From arch/ia64/include/uapi/asm/gcc_intrin.h */
> -#define ia64_mf() asm volatile ("mf" ::: "memory")
> -
> #define mb() ia64_mf()
> #define rmb() mb()
> #define wmb() mb()
>

Shall I ask Andrew Morton to pick up this patch? It's needed to fix the Debian
kernel build on ia64 and it would be great if it could be included for 5.12.

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@xxxxxxxxxx
`. `' Freie Universitaet Berlin - glaubitz@xxxxxxxxxxxxxxxxxxx
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913