Jiri Olsa wrote:
> The btfid tool will be used during the vmlinux linking,
> so it's necessary it's ready for it.
>
> Signed-off-by: Jiri Olsa <[email protected]>
> ---
> Makefile | 22 ++++++++++++++++++----
> tools/Makefile | 3 +++
> tools/bpf/Makefile | 5 ++++-
> 3 files changed, 25 insertions(+), 5 deletions(-)
This breaks the build for me. I fixed it with this but then I get warnings,
diff --git a/tools/bpf/btfid/btfid.c b/tools/bpf/btfid/btfid.c
index 7cdf39bfb150..3697e8ae9efa 100644
--- a/tools/bpf/btfid/btfid.c
+++ b/tools/bpf/btfid/btfid.c
@@ -48,7 +48,7 @@
#include <errno.h>
#include <linux/rbtree.h>
#include <linux/zalloc.h>
-#include <btf.h>
+#include <linux/btf.h>
#include <libbpf.h>
#include <parse-options.h>
Here is the error. Is it something about my setup? bpftool/btf.c uses
<btf.h>. Because this in top-level Makefile we probably don't want to
push extra setup onto folks.
In file included from btfid.c:51:
/home/john/git/bpf-next/tools/lib/bpf/btf.h: In function ‘btf_is_var’:
/home/john/git/bpf-next/tools/lib/bpf/btf.h:254:24: error: ‘BTF_KIND_VAR’
undeclared (first use in this function); did you mean ‘BTF_KIND_PTR’?
return btf_kind(t) == BTF_KIND_VAR;
^~~~~~~~~~~~
BTF_KIND_PTR
/home/john/git/bpf-next/tools/lib/bpf/btf.h:254:24: note: each undeclared
identifier is reported only once for each function it appears in
/home/john/git/bpf-next/tools/lib/bpf/btf.h: In function ‘btf_is_datasec’:
/home/john/git/bpf-next/tools/lib/bpf/btf.h:259:24: error: ‘BTF_KIND_DATASEC’
undeclared (first use in this function); did you mean ‘BTF_KIND_PTR’?
return btf_kind(t) == BTF_KIND_DATASEC;
^~~~~~~~~~~~~~~~
BTF_KIND_PTR
mv: cannot stat '/home/john/git/bpf-next/tools/bpf/btfid/.btfid.o.tmp': No such
file or directory
make[3]: *** [/home/john/git/bpf-next/tools/build/Makefile.build:97:
/home/john/git/bpf-next/tools/bpf/btfid/btfid.o] Error 1
make[2]: *** [Makefile:59: /home/john/git/bpf-next/tools/bpf/btfid/btfid-in.o]
Error 2
make[1]: *** [Makefile:71: bpf/btfid] Error 2
make: *** [Makefile:1894: tools/bpf/btfid] Error 2