Syncing latest libbpf commits from kernel repository. Baseline bpf-next commit: e47a179997ceee6864fbae620eee09ea9c345a4d Checkpoint bpf-next commit: b615e5a1e067dcb327482d1af7463268b89b1629 Baseline bpf commit: d0fbb51dfaa612f960519b798387be436e8f83c5 Checkpoint bpf commit: 34e59836565e36fade1464e054a3551c1a0364be Alexei Starovoitov (4): libbpf: Introduce btf__find_by_name_kind() libbpf: Add support to attach to fentry/fexit tracing progs selftests/bpf: Add test for BPF trampoline libbpf: Add support for attaching BPF programs to other BPF programs Andrii Nakryiko (8): bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY libbpf: Make global data internal arrays mmap()-able, if possible libbpf: Fix call relocation offset calculation bug libbpf: Refactor relocation handling libbpf: Fix various errors and warning reported by checkpatch.pl libbpf: Support initialized global variables libbpf: Fix bpf_object name determination for bpf_object__open_file() libbpf: Fix usage of u32 in userspace code Luigi Rizzo (1): net-af_xdp: Use correct number of channels from ethtool Martin KaFai Lau (1): bpf: Introduce BPF_TRACE_x helper for the tracing tests include/uapi/linux/bpf.h | 6 + src/bpf.c | 8 +- src/bpf.h | 5 +- src/btf.c | 22 ++ src/btf.h | 2 + src/libbpf.c | 478 ++++++++++++++++++++++++++------------- src/libbpf.h | 7 +- src/libbpf.map | 3 + src/xsk.c | 11 +- 9 files changed, 371 insertions(+), 171 deletions(-) -- 2.17.1
This is a mirror of bpf-next linux tree's
tools/lib/bpf directory plus its supporting header files.
The following files will by sync'ed with bpf-next repo:
src/<->bpf-next/tools/lib/bpf/include/uapi/linux/bpf_common.h<->bpf-next/tools/include/uapi/linux/bpf_common.hinclude/uapi/linux/bpf.h<->bpf-next/tools/include/uapi/linux/bpf.hinclude/uapi/linux/btf.h<->bpf-next/tools/include/uapi/linux/btf.hinclude/uapi/linux/if_link.h<->bpf-next/tools/include/uapi/linux/if_link.hinclude/uapi/linux/if_xdp.h<->bpf-next/tools/include/uapi/linux/if_xdp.hinclude/uapi/linux/netlink.h<->bpf-next/tools/include/uapi/linux/netlink.hinclude/tools/libc_compat.h<->bpf-next/tools/include/tools/libc_compat.h
Other header files at this repo (include/linux/*.h) are reduced versions of
their counterpart files at bpf-next's tools/include/linux/*.h to make compilation
successful.
Build

libelf is an internal dependency of libbpf and thus it is required to link
against and must be installed on the system for applications to work.
pkg-config is used by default to find libelf, and the program called can be
overridden with PKG_CONFIG.
If using pkg-config at build time is not desired, it can be disabled by setting
NO_PKG_CONFIG=1 when calling make.
To build both static libbpf.a and shared libbpf.so:
$ cd src
$ make
To build only static libbpf.a library in directory build/ and install them together with libbpf headers in a staging directory root/:
$ cd src
$ mkdir build root
$ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
To build both static libbpf.a and shared libbpf.so against a custom libelf dependency installed in /build/root/ and install them together with libbpf headers in a build directory /build/root/:
$ cd src
$ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install