2022-04-25 22:24:06

by Jianlin Lv

[permalink] [raw]
Subject: [PATCH bpf-next] bpftoo: Support user defined vmlinux path

From: Jianlin Lv <[email protected]>

Add EXTERNAL_PATH variable that define unconventional vmlinux path

Signed-off-by: Jianlin Lv <[email protected]>
---
When building Ubuntu-5.15.0 kernel, '../../../vmlinux' cannot locate
compiled vmlinux image. Incorrect vmlinux generated vmlinux.h missing some
structure definitions that broken compiling pipe.
---
tools/bpf/bpftool/Makefile | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index c6d2c77d0252..fefa3b763eb7 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -160,6 +160,7 @@ $(OBJS): $(LIBBPF) $(LIBBPF_INTERNAL_HDRS)
VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux) \
$(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux) \
../../../vmlinux \
+ $(if $(EXTERNAL_PATH),$(EXTERNAL_PATH)/vmlinux) \
/sys/kernel/btf/vmlinux \
/boot/vmlinux-$(shell uname -r)
VMLINUX_BTF ?= $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS))))
--
2.25.1


2022-04-26 00:32:04

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH bpf-next] bpftoo: Support user defined vmlinux path

On 4/25/22 9:57 AM, Jianlin Lv wrote:
> From: Jianlin Lv <[email protected]>
>
> Add EXTERNAL_PATH variable that define unconventional vmlinux path
>
> Signed-off-by: Jianlin Lv <[email protected]>
> ---
> When building Ubuntu-5.15.0 kernel, '../../../vmlinux' cannot locate
> compiled vmlinux image. Incorrect vmlinux generated vmlinux.h missing some
> structure definitions that broken compiling pipe.

You should already be able to define custom VMLINUX_BTF_PATHS, no?

See commit :

commit ec23eb705620234421fd48fc2382490fcfbafc37
Author: Andrii Nakryiko <[email protected]>
Date: Mon Jun 29 17:47:58 2020 -0700

tools/bpftool: Allow substituting custom vmlinux.h for the build

> ---
> tools/bpf/bpftool/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
> index c6d2c77d0252..fefa3b763eb7 100644
> --- a/tools/bpf/bpftool/Makefile
> +++ b/tools/bpf/bpftool/Makefile
> @@ -160,6 +160,7 @@ $(OBJS): $(LIBBPF) $(LIBBPF_INTERNAL_HDRS)
> VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux) \
> $(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux) \
> ../../../vmlinux \
> + $(if $(EXTERNAL_PATH),$(EXTERNAL_PATH)/vmlinux) \
> /sys/kernel/btf/vmlinux \
> /boot/vmlinux-$(shell uname -r)
> VMLINUX_BTF ?= $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS))))
>