2022-04-16 00:43:25

by Kumar Kartikeya Dwivedi

[permalink] [raw]
Subject: Re: [PATCH bpf-next 05/11] samples: bpf: use host bpftool to generate vmlinux.h, not target

On Fri, Apr 15, 2022 at 04:15:50AM IST, Alexander Lobakin wrote:
> Use the host build of bpftool (bootstrap) instead of the target one
> to generate vmlinux.h/skeletons for the BPF samples. Otherwise, when
> host != target, samples compilation fails with:
>
> /bin/sh: line 1: samples/bpf/bpftool/bpftool: failed to exec: Exec
> format error
>
> Fixes: 384b6b3bbf0d ("samples: bpf: Add vmlinux.h generation support")
> Signed-off-by: Alexander Lobakin <[email protected]>
> ---

Acked-by: Kumar Kartikeya Dwivedi <[email protected]>

> samples/bpf/Makefile | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> index 97203c0de252..02f999a8ef84 100644
> --- a/samples/bpf/Makefile
> +++ b/samples/bpf/Makefile
> @@ -291,12 +291,13 @@ $(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 := $(BPFTOOL_OUTPUT)/bootstrap/bpftool
> $(BPFTOOL): $(LIBBPF) $(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)/
> + LIBBPF_DESTDIR=$(LIBBPF_DESTDIR)/ \
> + bootstrap
>
> $(LIBBPF_OUTPUT) $(BPFTOOL_OUTPUT):
> $(call msg,MKDIR,$@)
> --
> 2.35.2
>
>

--
Kartikeya


2022-04-16 01:25:24

by Song Liu

[permalink] [raw]
Subject: Re: [PATCH bpf-next 05/11] samples: bpf: use host bpftool to generate vmlinux.h, not target

On Fri, Apr 15, 2022 at 6:38 AM Kumar Kartikeya Dwivedi
<[email protected]> wrote:
>
> On Fri, Apr 15, 2022 at 04:15:50AM IST, Alexander Lobakin wrote:
> > Use the host build of bpftool (bootstrap) instead of the target one
> > to generate vmlinux.h/skeletons for the BPF samples. Otherwise, when
> > host != target, samples compilation fails with:
> >
> > /bin/sh: line 1: samples/bpf/bpftool/bpftool: failed to exec: Exec
> > format error
> >
> > Fixes: 384b6b3bbf0d ("samples: bpf: Add vmlinux.h generation support")
> > Signed-off-by: Alexander Lobakin <[email protected]>
> > ---
>
> Acked-by: Kumar Kartikeya Dwivedi <[email protected]>

Acked-by: Song Liu <[email protected]>

>
> > samples/bpf/Makefile | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> > index 97203c0de252..02f999a8ef84 100644
> > --- a/samples/bpf/Makefile
> > +++ b/samples/bpf/Makefile
> > @@ -291,12 +291,13 @@ $(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 := $(BPFTOOL_OUTPUT)/bootstrap/bpftool
> > $(BPFTOOL): $(LIBBPF) $(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)/
> > + LIBBPF_DESTDIR=$(LIBBPF_DESTDIR)/ \
> > + bootstrap
> >
> > $(LIBBPF_OUTPUT) $(BPFTOOL_OUTPUT):
> > $(call msg,MKDIR,$@)
> > --
> > 2.35.2
> >
> >
>
> --
> Kartikeya