commit | 080fd68e9c220f3fa119be9a64ab33f0c7f6f3fe | [log] [tgz] |
---|---|---|
author | Andrii Nakryiko <andriin@fb.com> | Thu Jan 16 10:13:01 2020 -0800 |
committer | Andrii Nakryiko <andrii.nakryiko@gmail.com> | Thu Jan 16 10:38:48 2020 -0800 |
tree | 715d27f0360a274d15f47368012e698c640b8bb6 | |
parent | 437f57042c5d21eeb0bb2e907574e21127e2bc5c [diff] |
sync: latest libbpf changes from kernel Syncing latest libbpf commits from kernel repository. Baseline bpf-next commit: 1d1a3bcffe360a56fd8cc287ed74d4c3066daf42 Checkpoint bpf-next commit: 858e284f0ec18bff2620d9a6afe764dc683f8ba1 Baseline bpf commit: e7a5f1f1cd0008e5ad379270a8657e121eedb669 Checkpoint bpf commit: 1712b2fff8c682d145c7889d2290696647d82dab Andrii Nakryiko (2): tools: Sync uapi/linux/if_link.h libbpf: Support .text sub-calls relocations Brian Vazquez (1): libbpf: Fix unneeded extra initialization in bpf_map_batch_common Martin KaFai Lau (1): libbpf: Expose bpf_find_kernel_btf as a LIBBPF_API Yonghong Song (3): bpf: Add bpf_send_signal_thread() helper tools/bpf: Sync uapi header bpf.h libbpf: Add libbpf support to batch ops include/uapi/linux/bpf.h | 40 +++++++++++- include/uapi/linux/if_link.h | 1 + src/bpf.c | 58 +++++++++++++++++ src/bpf.h | 22 +++++++ src/btf.c | 102 +++++++++++++++++++++++++++-- src/btf.h | 2 + src/libbpf.c | 122 +++++++---------------------------- src/libbpf.map | 5 ++ 8 files changed, 247 insertions(+), 105 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.h
include/uapi/linux/bpf.h
<-> bpf-next/tools/include/uapi/linux/bpf.h
include/uapi/linux/btf.h
<-> bpf-next/tools/include/uapi/linux/btf.h
include/uapi/linux/if_link.h
<-> bpf-next/tools/include/uapi/linux/if_link.h
include/uapi/linux/if_xdp.h
<-> bpf-next/tools/include/uapi/linux/if_xdp.h
include/uapi/linux/netlink.h
<-> bpf-next/tools/include/uapi/linux/netlink.h
include/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.
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
Distributions packaging libbpf from this mirror:
Benefits of packaging from the mirror over packaging from kernel sources:
Package dependencies of libbpf, package names may vary across distros:
This work is dual-licensed under BSD 2-clause license and GNU LGPL v2.1 license. You can choose between one of them if you use this work.
SPDX-License-Identifier: BSD-2-Clause OR LGPL-2.1