SHA256
1
0
forked from pool/libbpf

Accepting request 978028 from home:shunghsiyu:branches:bpf

- 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
This commit is contained in:
Shung-Hsi Yu 2022-05-19 03:34:55 +00:00 committed by Git OBS Bridge
parent d1d6e9e7e9
commit 78537dd4a5
4 changed files with 55 additions and 4 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5083588ce5a3a620e395ee1e596af77b4ec5771ffc71cff2af49dfee38c06361
size 900125

3
libbpf-0.8.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4480242651a93c101ece320030f6b2b9b437f622f807719c13cb32569a6d65a
size 942574

View File

@ -1,3 +1,54 @@
-------------------------------------------------------------------
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>

View File

@ -19,7 +19,7 @@
%define sover_major 0
%define libname libbpf%{sover_major}
Name: libbpf
Version: 0.7.0
Version: 0.8.0
Release: 0
Summary: C library for managing eBPF programs and maps
License: LGPL-2.1-only