| From a3085a8ea81ab7ce55119f158f4f4b765342f636 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 30 May 2023 14:33:52 +0200 |
| Subject: tools/resolve_btfids: Fix setting HOSTCFLAGS |
| |
| From: Viktor Malik <vmalik@redhat.com> |
| |
| [ Upstream commit edd75c802855271c8610f58a2fc9e54aefc49ce5 ] |
| |
| 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@redhat.com> |
| Signed-off-by: Andrii Nakryiko <andrii@kernel.org> |
| Acked-by: Jiri Olsa <jolsa@kernel.org> |
| Link: https://lore.kernel.org/bpf/20230530123352.1308488-1-vmalik@redhat.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 ac548a7baa73e..4b8079f294f65 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.39.2 |
| |