Commit Graph

16 Commits

Author SHA256 Message Date
Shung-Hsi Yu
78537dd4a5 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
2022-05-19 03:34:55 +00:00
d1d6e9e7e9 Accepting request 959865 from home:jengelh:branches:devel:libraries:c_c++
- Python is not used during build; remove it and help break
  a cycle.

OBS-URL: https://build.opensuse.org/request/show/959865
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=17
2022-03-12 10:14:07 +00:00
Michał Rostecki
8c5c35b5f3 Accepting request 960937 from home:jeff_mahoney:branches:devel:libraries:c_c++
- Enable building and packaging of static library.
  Explicitly enable fat LTO objects.

Enabling fat LTO to get successful builds on ppc64.
Now removed commented out removal of rm command.

OBS-URL: https://build.opensuse.org/request/show/960937
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=16
2022-03-11 13:42:38 +00:00
5149d0519a Accepting request 959375 from home:jengelh:branches:devel:libraries:c_c++
- Update to release 0.7.0

OBS-URL: https://build.opensuse.org/request/show/959375
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=14
2022-03-06 16:26:17 +00:00
Michał Rostecki
c621426241 Accepting request 940907 from home:jengelh:branches:devel:libraries:c_c++
the new libbpf has this hard requirement. Doesn't help factory at this time, but at least it'll be on record.

OBS-URL: https://build.opensuse.org/request/show/940907
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=13
2021-12-17 10:53:35 +00:00
Michał Rostecki
65b929f47a Accepting request 939943 from home:jengelh:branches:devel:libraries:c_c++
- Update to release 0.6.1

OBS-URL: https://build.opensuse.org/request/show/939943
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=12
2021-12-11 23:40:33 +00:00
Michał Rostecki
9146349710 Accepting request 921765 from home:shunghsiyu:branches:devel:libraries:c_c++
- 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

OBS-URL: https://build.opensuse.org/request/show/921765
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=11
2021-09-27 13:57:21 +00:00
bbb037c275 Accepting request 914518 from home:michals
- Fix LTO build (bsc#1188749).
  + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch

OBS-URL: https://build.opensuse.org/request/show/914518
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=10
2021-09-21 09:21:49 +00:00
Michał Rostecki
1d83152640 Accepting request 913283 from home:michals
- Depend on new enough Linux headers.

OBS-URL: https://build.opensuse.org/request/show/913283
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=9
2021-08-20 09:33:03 +00:00
d9ed76e39e Accepting request 909759 from home:gmbr3:Active
- Create libbpf0-32bit needed by libdwarves1-32bit

OBS-URL: https://build.opensuse.org/request/show/909759
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=8
2021-08-09 08:49:10 +00:00
Michał Rostecki
c8ea07602b Accepting request 906964 from home:michals
- libbpf is now a separate project, stop building from the kernel
  (bsc#1188419 jsc#SLE-17288 jsc#SLE-18805).
- Fix LIBSUBDIR
  + libdir.patch

OBS-URL: https://build.opensuse.org/request/show/906964
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=7
2021-07-19 07:25:34 +00:00
Michał Rostecki
cfdc4dccbe Accepting request 812755 from home:mrostecki:branches:devel:libraries:c_c++
- Add python3 as a build dependency.

OBS-URL: https://build.opensuse.org/request/show/812755
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=5
2020-06-08 23:58:57 +00:00
Dominique Leuenberger
2c0205106e Accepting request 772922 from devel:libraries:c_c++
libbpf package with a shared library. It's needed by bpftrace. After this SR gets accepted, I will also use it for building bpftool.

OBS-URL: https://build.opensuse.org/request/show/772922
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libbpf?expand=0&rev=1
2020-02-10 20:55:53 +00:00
Michał Rostecki
d17435cca4 Accepting request 772910 from home:mrostecki:branches:devel:libraries:c_c++
- Build libbpf from kernel sources, not from github sources, for
  consistency with bpftool package.

OBS-URL: https://build.opensuse.org/request/show/772910
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=3
2020-02-10 15:01:06 +00:00
Michał Rostecki
a53a02a589 Accepting request 761634 from home:scarabeus_iv:branches:devel:libraries:c_c++
Please sent this package to tumbleweed too.

- 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

OBS-URL: https://build.opensuse.org/request/show/761634
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=2
2020-01-09 11:37:19 +00:00
678c0dae57 Accepting request 741294 from home:mrostecki
Initial release

OBS-URL: https://build.opensuse.org/request/show/741294
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libbpf?expand=0&rev=1
2019-10-20 11:27:25 +00:00