bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools: Remove duplicate definition of ia64_mf() on ia64
@ 2021-03-23 18:25 John Paul Adrian Glaubitz
  2021-03-28  7:24 ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 2+ messages in thread
From: John Paul Adrian Glaubitz @ 2021-03-23 18:25 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, John Paul Adrian Glaubitz, linux-kernel, netdev, bpf

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@physik.fu-berlin.de>
---
 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()
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] tools: Remove duplicate definition of ia64_mf() on ia64
  2021-03-23 18:25 [PATCH] tools: Remove duplicate definition of ia64_mf() on ia64 John Paul Adrian Glaubitz
@ 2021-03-28  7:24 ` John Paul Adrian Glaubitz
  0 siblings, 0 replies; 2+ messages in thread
From: John Paul Adrian Glaubitz @ 2021-03-28  7:24 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, linux-kernel, netdev, bpf

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@physik.fu-berlin.de>
> ---
>  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@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-28  7:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 18:25 [PATCH] tools: Remove duplicate definition of ia64_mf() on ia64 John Paul Adrian Glaubitz
2021-03-28  7:24 ` John Paul Adrian Glaubitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).