linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Constantine Shulyupin <const@MakeLinux.com>
To: jakub.kicinski@netronome.com,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	linux-kernel@vger.kernel.org (open list),
	netdev@vger.kernel.org (open list:BPF (Safe dynamic programs and
	tools))
Cc: Constantine Shulyupin <const@MakeLinux.com>
Subject: [PATCH v1] bpf: fix compilation of samples/bpf/
Date: Sat,  7 Jul 2018 17:52:03 +0300	[thread overview]
Message-ID: <20180707145240.23544-1-const@MakeLinux.com> (raw)

Example of errors:

samples/bpf/test_lru_dist.c:39:8: error: redefinition of ‘struct list_head’
 struct list_head {
        ^~~~~~~~~
In file included from samples/bpf/test_lru_dist.c:9:0:
./tools/include/linux/types.h:69:8: note: originally defined here

In file included from samples/bpf/sock_example.c:27:0:
/usr/include/linux/ip.h:102:2: error: unknown type name ‘__sum16’

samples/bpf/bpf_load.c: In function ‘load_and_attach’:
samples/bpf/bpf_load.c:90:15: error: ‘BPF_PROG_TYPE_RAW_TRACEPOINT’ undeclared (first use in this function); did you mean ‘BPF_PROG_TYPE_TRACEPOINT’?

samples/bpf/xdpsock_user.c:10:10: fatal error: linux/if_xdp.h: No such file or directory

samples/bpf/task_fd_query_user.c: In function ‘test_debug_fs_uprobe’:
samples/bpf/task_fd_query_user.c:270:31: error: ‘BPF_FD_TYPE_URETPROBE’ undeclared (first use in this function); did you mean ‘BPF_PROG_TYPE_KPROBE’?

samples/bpf/parse_varlen.c:111:8: error: redefinition of 'vlan_hdr'
struct vlan_hdr {
       ^
./include/linux/if_vlan.h:38:8: note: previous definition is here

Signed-off-by: Constantine Shulyupin <const@MakeLinux.com>
---
 Makefile                           | 1 +
 samples/bpf/Makefile               | 5 +++--
 samples/bpf/xdp_sample_pkts_user.c | 3 +++
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index d15ac32afbaf..824006258319 100644
--- a/Makefile
+++ b/Makefile
@@ -441,6 +441,7 @@ export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
 export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
 export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
 export KBUILD_ARFLAGS
+export USERINCLUDE
 
 # When compiling out-of-tree modules, put MODVERDIR in the module
 # tree rather than in the kernel tree. The kernel tree might
diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 9ea2f7b64869..991273c81459 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -167,11 +167,12 @@ always += xdp_fwd_kern.o
 always += task_fd_query_kern.o
 always += xdp_sample_pkts_kern.o
 
-HOSTCFLAGS += -I$(objtree)/usr/include
+HOSTCFLAGS += -D__EXPORTED_HEADERS__ $(USERINCLUDE)
 HOSTCFLAGS += -I$(srctree)/tools/lib/
 HOSTCFLAGS += -I$(srctree)/tools/testing/selftests/bpf/
-HOSTCFLAGS += -I$(srctree)/tools/lib/ -I$(srctree)/tools/include
+HOSTCFLAGS += -I$(srctree)/tools/include
 HOSTCFLAGS += -I$(srctree)/tools/perf
+HOSTCFLAGS += -I./include # for generated/autoconf.h from USERINCLUDE
 
 HOSTCFLAGS_bpf_load.o += -I$(objtree)/usr/include -Wno-unused-variable
 HOSTCFLAGS_trace_helpers.o += -I$(srctree)/tools/lib/bpf/
diff --git a/samples/bpf/xdp_sample_pkts_user.c b/samples/bpf/xdp_sample_pkts_user.c
index 8dd87c1eb560..be7329697500 100644
--- a/samples/bpf/xdp_sample_pkts_user.c
+++ b/samples/bpf/xdp_sample_pkts_user.c
@@ -15,6 +15,9 @@
 
 #include "perf-sys.h"
 #include "trace_helpers.h"
+#ifndef __packed
+#define __packed __attribute__((packed))
+#endif
 
 #define MAX_CPUS 128
 static int pmu_fds[MAX_CPUS], if_idx;
-- 
2.17.1


             reply	other threads:[~2018-07-07 15:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-07 14:52 Constantine Shulyupin [this message]
2018-07-07 22:49 ` [PATCH v1] bpf: fix compilation of samples/bpf/ Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180707145240.23544-1-const@MakeLinux.com \
    --to=const@makelinux.com \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=netdev@vger.kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).