2022-07-07 19:14:23

by Song Liu

[permalink] [raw]
Subject: Re: [PATCH bpf-next] samples: bpf: Fix cross-compiling error about bpftool



> On Jul 7, 2022, at 7:08 AM, Pu Lehui <[email protected]> wrote:
>
> Currently, when cross compiling bpf samples, the host side
> cannot use arch-specific bpftool to generate vmlinux.h or
> skeleton. We need to compile the bpftool with the host
> compiler.
>
> Signed-off-by: Pu Lehui <[email protected]>
> ---
> samples/bpf/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> index 5002a5b9a7da..fe54a8c8f312 100644
> --- a/samples/bpf/Makefile
> +++ b/samples/bpf/Makefile
> @@ -1,4 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> +-include tools/scripts/Makefile.include

Why do we need the -include here?

Thanks,
Song

>
> BPF_SAMPLES_PATH ?= $(abspath $(srctree)/$(src))
> TOOLS_PATH := $(BPF_SAMPLES_PATH)/../../tools
> @@ -283,11 +284,10 @@ $(LIBBPF): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(LIBBPF_OU
> BPFTOOLDIR := $(TOOLS_PATH)/bpf/bpftool
> BPFTOOL_OUTPUT := $(abspath $(BPF_SAMPLES_PATH))/bpftool
> BPFTOOL := $(BPFTOOL_OUTPUT)/bpftool
> -$(BPFTOOL): $(LIBBPF) $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) | $(BPFTOOL_OUTPUT)
> +$(BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) | $(BPFTOOL_OUTPUT)
> $(MAKE) -C $(BPFTOOLDIR) srctree=$(BPF_SAMPLES_PATH)/../../ \
> - OUTPUT=$(BPFTOOL_OUTPUT)/ \
> - LIBBPF_OUTPUT=$(LIBBPF_OUTPUT)/ \
> - LIBBPF_DESTDIR=$(LIBBPF_DESTDIR)/
> + ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) \
> + OUTPUT=$(BPFTOOL_OUTPUT)/
>
> $(LIBBPF_OUTPUT) $(BPFTOOL_OUTPUT):
> $(call msg,MKDIR,$@)
> --
> 2.25.1
>