On Tue, May 30, 2023 at 02:33:52PM +0200, Viktor Malik wrote: > Building BPF selftests with custom HOSTCFLAGS yields an error: > > # make HOSTCFLAGS="-O2" > [...] > HOSTCC ./tools/testing/selftests/bpf/tools/build/resolve_btfids/main.o > main.c:73:10: fatal error: linux/rbtree.h: No such file or directory > 73 | #include <linux/rbtree.h> > | ^~~~~~~~~~~~~~~~ > > The reason is that tools/bpf/resolve_btfids/Makefile passes header > include paths by extending HOSTCFLAGS which is overridden by setting > HOSTCFLAGS in the make command (because of Makefile rules [1]). > > This patch fixes the above problem by passing the include paths via > `HOSTCFLAGS_resolve_btfids` which is used by tools/build/Build.include > and can be combined with overridding HOSTCFLAGS. > > [1] https://www.gnu.org/software/make/manual/html_node/Overriding.html > > Fixes: 56a2df7615fa ("tools/resolve_btfids: Compile resolve_btfids as host program") > Signed-off-by: Viktor Malik <vmalik@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> jirka > --- > tools/bpf/resolve_btfids/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index ac548a7baa73..4b8079f294f6 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -67,7 +67,7 @@ $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(LIBBPF_OU > LIBELF_FLAGS := $(shell $(HOSTPKG_CONFIG) libelf --cflags 2>/dev/null) > LIBELF_LIBS := $(shell $(HOSTPKG_CONFIG) libelf --libs 2>/dev/null || echo -lelf) > > -HOSTCFLAGS += -g \ > +HOSTCFLAGS_resolve_btfids += -g \ > -I$(srctree)/tools/include \ > -I$(srctree)/tools/include/uapi \ > -I$(LIBBPF_INCLUDE) \ > @@ -76,7 +76,7 @@ HOSTCFLAGS += -g \ > > LIBS = $(LIBELF_LIBS) -lz > > -export srctree OUTPUT HOSTCFLAGS Q HOSTCC HOSTLD HOSTAR > +export srctree OUTPUT HOSTCFLAGS_resolve_btfids Q HOSTCC HOSTLD HOSTAR > include $(srctree)/tools/build/Makefile.include > > $(BINARY_IN): fixdep FORCE prepare | $(OUTPUT) > -- > 2.40.1 >