From 003a37530c93d3a0f1b5f09ae52b18a08bd036c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Mon, 28 Sep 2020 18:28:25 +0200 Subject: [PATCH 1/2] libbpf: Update submodule to latest upstream master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Newer versions of libbpf link against zlib, so also add -lz to the linker flags when compiling userspace programs, and add zlib to the list of packages to install in setup_dependencies.org. Signed-off-by: Toke Høiland-Jørgensen --- common/common.mk | 2 +- libbpf | 2 +- setup_dependencies.org | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/common.mk b/common/common.mk index df1afc1a..3df6af48 100644 --- a/common/common.mk +++ b/common/common.mk @@ -45,7 +45,7 @@ LDFLAGS ?= -L$(LIBBPF_DIR) BPF_CFLAGS ?= -I$(LIBBPF_DIR)/build/usr/include/ -I../headers/ -LIBS = -l:libbpf.a -lelf $(USER_LIBS) +LIBS = -l:libbpf.a -lelf -lz $(USER_LIBS) all: llvm-check $(USER_TARGETS) $(XDP_OBJ) $(COPY_LOADER) $(COPY_STATS) diff --git a/libbpf b/libbpf index b91f53ec..37c5973b 160000 --- a/libbpf +++ b/libbpf @@ -1 +1 @@ -Subproject commit b91f53ec5f1aba2a9d01dc00c4434063abd921e8 +Subproject commit 37c5973bb72237d5cf7a77da5078b7ff45fd62b8 diff --git a/setup_dependencies.org b/setup_dependencies.org index c67b3351..a6cf7ec0 100644 --- a/setup_dependencies.org +++ b/setup_dependencies.org @@ -66,7 +66,7 @@ On a machine running the Fedora Linux distribution, install the packages: #+begin_example $ sudo dnf install clang llvm - $ sudo dnf install elfutils-libelf-devel libpcap-devel perf + $ sudo dnf install elfutils-libelf-devel libpcap-devel zlib-devel perf #+end_example Note also that Fedora by default sets a limit on the amount of locked memory @@ -86,7 +86,7 @@ Note that you need to do this in the shell you are using to load programs On Debian and Ubuntu installations, install the dependencies like this: #+begin_example - $ sudo apt install clang llvm libelf-dev libpcap-dev gcc-multilib build-essential + $ sudo apt install clang llvm libelf-dev libpcap-dev zlib1g-dev gcc-multilib build-essential #+end_example To install the 'perf' utility, run this on Debian: @@ -105,7 +105,7 @@ or this on Ubuntu: On a machine running the openSUSE distribution, install the packages: #+begin_example - $ sudo zypper install clang llvm libelf-devel libpcap-devel perf + $ sudo zypper install clang llvm libelf-devel libpcap-devel zlib-devel perf #+end_example * Kernel headers dependency From 2d9ef6f6206d5ad7ed6ac66f21debd513eb56c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Mon, 28 Sep 2020 18:35:18 +0200 Subject: [PATCH 2/2] treewide: Use bpf_program__section_name() instead of bpf_program__title() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Newer versions of libbpf deprecated bpf_program__title(), so change all uses to bpf_program__section_name() to silence the warning. Signed-off-by: Toke Høiland-Jørgensen --- basic02-prog-by-name/xdp_loader.c | 2 +- common/common_user_bpf_xdp.c | 2 +- tracing02-xdp-monitor/trace_load_and_stats.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/basic02-prog-by-name/xdp_loader.c b/basic02-prog-by-name/xdp_loader.c index e18d97fa..fc2c008b 100644 --- a/basic02-prog-by-name/xdp_loader.c +++ b/basic02-prog-by-name/xdp_loader.c @@ -151,7 +151,7 @@ static void list_avail_progs(struct bpf_object *obj) bpf_object__for_each_program(pos, obj) { if (bpf_program__is_xdp(pos)) - printf(" %s\n", bpf_program__title(pos, false)); + printf(" %s\n", bpf_program__section_name(pos)); } } diff --git a/common/common_user_bpf_xdp.c b/common/common_user_bpf_xdp.c index e7ef7717..faf7f4f9 100644 --- a/common/common_user_bpf_xdp.c +++ b/common/common_user_bpf_xdp.c @@ -274,7 +274,7 @@ struct bpf_object *load_bpf_and_xdp_attach(struct config *cfg) exit(EXIT_FAIL_BPF); } - strncpy(cfg->progsec, bpf_program__title(bpf_prog, false), sizeof(cfg->progsec)); + strncpy(cfg->progsec, bpf_program__section_name(bpf_prog), sizeof(cfg->progsec)); prog_fd = bpf_program__fd(bpf_prog); if (prog_fd <= 0) { diff --git a/tracing02-xdp-monitor/trace_load_and_stats.c b/tracing02-xdp-monitor/trace_load_and_stats.c index a7b75aaa..4c0e2dcb 100644 --- a/tracing02-xdp-monitor/trace_load_and_stats.c +++ b/tracing02-xdp-monitor/trace_load_and_stats.c @@ -796,7 +796,7 @@ static struct bpf_object* load_bpf_and_trace_attach(struct config *cfg) } bpf_object__for_each_program(prog, obj) { - const char *sec = bpf_program__title(prog, true); + const char *sec = bpf_program__section_name(prog); char *tp; if (!sec) {