78537dd4a5
- Update to release 0.8.0 * New features and APIs: - support auto-resolution of binaries and shared libraries from PATH, if necessary; - support attaching by function names (only by IP was supported before); - support attaching to USDTs (SEC("usdt/...") and bpf_program__attach_usdt()) with initially supported architectures: x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv); - improved BPF verifier log reporting for CO-RE relocation failures (no more obscure "invalid func unknown#195896080" errors); - auto-adjust BPF ringbuf size according to host kernel's page size requirements; - high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(), etc that validate key/value buffer sizes; - bpf_link_create() can create all bpf_link-based (including raw_tp, fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old kernels transparently; - support opting out from auto-loading BPF programs declaratively with SEC("?..."); - support opting out from auto-creation of declarative BPF maps with bpf_map__set_autocreate(); - support multi-kprobes (SEC("kprobe.multi/...") and bpf_program__attach_kprobe_multi_opts()); - support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc); - support BPF sub-skeletons for "incomplete" BPF object files (requires matching bpftool to generate .subskel.h); - BPF cookie support for fentry/fexit/fmod_ret BPF programs (bpf_program__attach_trace_opts()); - support for custom SEC() handlers (libbpf_register_prog_handler()). * BPF-side API - BPF-side USDT APIs. See new usdt.bpf.h header: * BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(), * bpf_usdt_cookie() helpers; - new bpf_core_field_offset() CO-RE helper and support bpf_core_field_size(type, field) forms; - barrier() and barrier_var() macros for improving BPF code generation; - __kptr and __kptr_ref tags added; - ARC architecture support in bpf_tracing.h header; - new BPF helpers: * bpf_skb_set_tstamp(); * bpf_ima_file_hash(); * bpf_kptr_xchg(); * bpf_map_lookup_percpu_elem(). * Bug fixes - netlink bug fixes; - libbpf.pc fixes to support patch releases properly; - BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix; - minor CO-RE fixes and improvements for some corner cases; - various other small fixes and improvements. OBS-URL: https://build.opensuse.org/request/show/978028 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=19
210 lines
9.7 KiB
Plaintext
210 lines
9.7 KiB
Plaintext
-------------------------------------------------------------------
|
|
Thu May 19 03:00:36 UTC 2022 - Shung-Hsi Yu <shung-hsi.yu@suse.com>
|
|
|
|
- Update to release 0.8.0
|
|
* New features and APIs:
|
|
- support auto-resolution of binaries and shared libraries from PATH, if necessary;
|
|
- support attaching by function names (only by IP was supported before);
|
|
- support attaching to USDTs (SEC("usdt/...") and
|
|
bpf_program__attach_usdt()) with initially supported architectures:
|
|
x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv);
|
|
- improved BPF verifier log reporting for CO-RE relocation failures (no
|
|
more obscure "invalid func unknown#195896080" errors);
|
|
- auto-adjust BPF ringbuf size according to host kernel's page size requirements;
|
|
- high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(),
|
|
etc that validate key/value buffer sizes;
|
|
- bpf_link_create() can create all bpf_link-based (including raw_tp,
|
|
fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old
|
|
kernels transparently;
|
|
- support opting out from auto-loading BPF programs declaratively with
|
|
SEC("?...");
|
|
- support opting out from auto-creation of declarative BPF maps with
|
|
bpf_map__set_autocreate();
|
|
- support multi-kprobes (SEC("kprobe.multi/...") and
|
|
bpf_program__attach_kprobe_multi_opts());
|
|
- support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc);
|
|
- support BPF sub-skeletons for "incomplete" BPF object files (requires
|
|
matching bpftool to generate .subskel.h);
|
|
- BPF cookie support for fentry/fexit/fmod_ret BPF programs
|
|
(bpf_program__attach_trace_opts());
|
|
- support for custom SEC() handlers (libbpf_register_prog_handler()).
|
|
* BPF-side API
|
|
- BPF-side USDT APIs. See new usdt.bpf.h header:
|
|
* BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(),
|
|
* bpf_usdt_cookie() helpers;
|
|
- new bpf_core_field_offset() CO-RE helper and support
|
|
bpf_core_field_size(type, field) forms;
|
|
- barrier() and barrier_var() macros for improving BPF code generation;
|
|
- __kptr and __kptr_ref tags added;
|
|
- ARC architecture support in bpf_tracing.h header;
|
|
- new BPF helpers:
|
|
* bpf_skb_set_tstamp();
|
|
* bpf_ima_file_hash();
|
|
* bpf_kptr_xchg();
|
|
* bpf_map_lookup_percpu_elem().
|
|
* Bug fixes
|
|
- netlink bug fixes;
|
|
- libbpf.pc fixes to support patch releases properly;
|
|
- BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix;
|
|
- minor CO-RE fixes and improvements for some corner cases;
|
|
- various other small fixes and improvements.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Mar 10 18:28:17 UTC 2022 - Jeff Mahoney <jeffm@suse.com>
|
|
|
|
- Enable building and packaging of static library.
|
|
Explicitly enable fat LTO objects.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 7 11:52:14 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Python is not used during build; remove it and help break
|
|
a cycle.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Mar 4 10:18:54 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Update to release 0.7.0
|
|
* legacy BPF map definitions (using struct bpf_map_def) are
|
|
deprecated when LIBBPF_STRICT_MAP_DEFINITIONS is passed to
|
|
libbpf_set_strict_mode(). Please use BTF-defined map
|
|
definitions.
|
|
* ability to control and capture BPF verifier log output on
|
|
per-object and per-program level
|
|
* CO-RE support and other improvements for "light skeleton"
|
|
* improved compilation when system BTF UAPI headers are outdated
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Dec 11 10:37:27 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Update to release 0.6.1
|
|
* Introduce legacy kprobe events support
|
|
* Add legacy uprobe attaching support
|
|
* Support uniform BTF-defined key/value specification across
|
|
all BPF maps
|
|
* Support kernel module function calls
|
|
* Support detecting and attaching of writable tracepoint
|
|
program
|
|
* Add bloom filter map implementation
|
|
* Add typeless and weak ksym support to gen_loader
|
|
* Add RISC-V (RV64) support to bpf_tracing.h
|
|
* Deprecate AF_XDP support
|
|
* Support BTF_KIND_TYPE_TAG
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 27 11:02:49 UTC 2021 - Shung-Hsi Yu <shung-hsi.yu@suse.com>
|
|
|
|
- Update to 0.5.0:
|
|
+ New features and user-space APIs:
|
|
- libbpf_set_strict_mode() allowing to opt-in into backwards incompatible libbpf-1.0 changes. See "Libbpf: the road to 1.0" and "Libbpf 1.0 migration guide" for more details.
|
|
- streamlined error reporting for low-level APIs, high-level error-returning APIs, and pointer-returning APIs (as a libbpf-1.0 opt-in);
|
|
- "Light" BPF skeleton support;
|
|
- BPF_PROG_TYPE_SYSCALL support;
|
|
- BPF perf link support for kprobe, uprobe, tracepoint, and perf_event BPF programs;
|
|
- BPF cookie support for kprobe, uprobe, tracepoint, and perf_event BPF programs through bpf_program__attach_[ku]probe_opts() APIs;
|
|
- allow to specify ref_ctr_off for USDT semaphores through bpf_program__attach_uprobe_opts() API;
|
|
- btf_custom_path support in bpf_object_open_opts, allowing to specify custom BTF for CO-RE relocations;
|
|
- sk_reuseport/migrate program type support;
|
|
- btf_dump__dump_type_data() API, allowing to dump binary data according to BTF type description;
|
|
- btf__load_into_kernel() and btf__load_from_kernel_by_id(), and split BTF variants of them;
|
|
- btf__load_vmlinux_btf() and btf__load_module_btf() APIs;
|
|
- bpf_map__initial_value() API to get initial value of mmap-ed BPF maps;
|
|
- bpf_map_lookup_and_delete_elem_flags() API.
|
|
+ BPF-side APIs and features:
|
|
- support for weak typed __ksym externs;
|
|
- BPF timer helpers: bpf_timer_init(), bpf_timer_set_callback(), bpf_timer_start(), bpf_timer_cancel();
|
|
- bpf_get_attach_cookie() helper to get BPF cookie from BPF program side;
|
|
- bpf_get_func_ip() helper;
|
|
- bpf_sys_bpf() helper;
|
|
- bpf_task_pt_regs() helper;
|
|
- bpf_btf_find_by_name_kind() helper;
|
|
- usability improvements for bpf_tracing.h when target architecture is missing.
|
|
+ Bug fixes and compatibility improvements:
|
|
- improve BPF support detection on old Red Hat kernels with backported BPF patches;
|
|
- improvements for LTO builds with GCC 10+;
|
|
- pass NLM_F_EXCL when creating TC qdisc;
|
|
- better support of BPF map reuse on old kernels;
|
|
- fix the bug resulting in sometimes closing FD 0, which wasn't created and owned by libbpf itself.
|
|
- Remove patches merged upstream
|
|
+ libdir.patch
|
|
+ libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 27 06:20:53 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
|
|
|
|
- Fix LTO build (bsc#1188749).
|
|
+ libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 20 08:47:47 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
|
|
|
|
- Depend on new enough Linux headers.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 2 11:00:28 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
|
|
|
|
- Create libbpf0-32bit needed by libdwarves1-32bit
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 17 15:38:52 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
|
|
|
|
- libbpf is now a separate project, stop building from the kernel
|
|
(bsc#1188419 jsc#SLE-17288 jsc#SLE-18805).
|
|
- Fix LIBSUBDIR
|
|
+ libdir.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 8 23:52:39 UTC 2020 - Michał Rostecki <mrostecki@suse.com>
|
|
|
|
- Add python3 as a build dependency.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Feb 2 19:50:55 UTC 2020 - Michał Rostecki <mrostecki@opensuse.org>
|
|
|
|
- Build libbpf from kernel sources, not from github sources, for
|
|
consistency with bpftool package.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jan 7 14:36:44 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Reflect SUSE CFLAGS
|
|
- Do not bother with obscpio if we are fetching direct releases
|
|
- Remove patch 0001-makefile-Fix-install-target.patch seems
|
|
to build/install without it just fine
|
|
- Update to 0.0.6:
|
|
+ New features
|
|
- new extensible bpf_object__open_{file,mem} APIs and
|
|
DECLARE_LIBBPF_OPTS() macro to go with them
|
|
- bpf_helpers.h, bpf_endian.h, and bpf_tracing.h are now
|
|
distributed with libbpf
|
|
- BPF CO-RE: added field size, field existence, and bitfield
|
|
relocation support
|
|
- BPF CO-RE: BPF_CORE_READ(), bpf_core_field_exists(),
|
|
bpf_core_field_size() and other BPF CO-RE related helpers
|
|
available through bpf_core_read.h header
|
|
- bpf_object__open() API now auto-detects program type from
|
|
its section name
|
|
- BPF_PROG_TRACING programs support (incuding BTF-typed raw
|
|
tracepoints, fentry/fexit programs)
|
|
- mmap() support for BPF global variables
|
|
- declarative map pinning support added
|
|
- probe_read_{user,kernel}[_str]() BPF helpers added
|
|
- bpf_get_link_xdp_info() function to get more XDP information
|
|
added
|
|
- a bunch of other AF_XDP changes
|
|
+ Usability improvements
|
|
- no need for int version SEC('version') = 1; anymore
|
|
- raw_tp/tp and uprobe/uretprobe section prefixes added
|
|
- new bpf_program__get_{type,expected_attach_type} getters
|
|
- preserve error code on program load failure
|
|
+ Fixes
|
|
- btf_dump padding handling
|
|
- bpf_object__name() returning name, not path
|
|
- ELF section handling off-by-one bug fix
|
|
- mem leak/double free fix in BPF program relocation code
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Oct 1 09:15:18 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
|
|
|
|
- Initial release
|