Sync from SUSE:SLFO:Main bpftool revision f7568f4ff6ea277b6ee3a07fa03f0ecc

This commit is contained in:
2025-04-17 00:13:08 +02:00
parent de2b7e4670
commit 0a9ab07ed0
4 changed files with 91 additions and 14 deletions

BIN
bpftool-libbpf-v7.3.0-sources.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
bpftool-libbpf-v7.5.0-sources.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,63 @@
-------------------------------------------------------------------
Wed Oct 30 15:56:21 UTC 2024 - Fredrik Lönnegren <fredrik.lonnegren@suse.com>
- Update to version 7.5.0
* Add support for attaching and detaching tcx programs with bpftool net,
along with relevant documentation and bash completion.
* When dumping BTF information, support dumping kfunc prototypes. Users
willing to use kfunc no longer have to define the prototypes themselves,
then can use the generated header file. This is also convenient to check
what kfuncs are available in the running kernel.
* Sort the output from the dump, in C format, of BTF objects. Sorting the
output helps applying diff tools on the generated header files, and helps
generate a more natural ordering in the header.
* Print richer information when dumping sockmap links.
* In BPF skeletons, auto-attach struct_ops BPF maps as part of
<skeleton>__attach(), define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH accordingly.
* Improvements in libbpf bring the ability to open and work with object files
in either endianness for some operations like object linking or light BPF
skeleton creation.
* Bpftool automatically mounts the BPF virtual file system (bpffs) when
necessary, for example to pin programs. This bpffs was mounted on the
parent directory for the provided path under certain circumstances. Now
bpftool mounts the bpffs on the provided path instead, as expected.
* When loading programs and trying to pin the maps, attempt to mount the
bpffs when the provided path for the maps is not under an existing bpffs
already, as bpftool usually does for other similar commands.
* Use __typeof__() rather than typeof() in BPF skeleton, to improve
compatibility with C++.
* Fix cgroup-related queries to avoid trying to dump (inaccessible)
Netkit-related information.
* Fix backward compatibility issue related to struct_ops maps handling for
BPF skeletons used with older versions of libbpf.
* Many trivial improvements to bpftool's documentation and bash completion,
such as formatting fixes, typo fixes, or minor clarifications.
* Fix typos in error message and usage help message.
-------------------------------------------------------------------
Wed May 22 09:43:32 UTC 2024 - Shung-Hsi Yu <shung-hsi.yu@suse.com>
- Update LLVM version selection logic to align with bcc and bpftrace
* narrow down the dependency to clang and llvm
-------------------------------------------------------------------
Thu Apr 11 07:02:33 UTC 2024 - Fredrik Lönnegren <fredrik.lonnegren@suse.com>
- Update to version 7.4.0
* Kernel configuration options related to bpfilter (namely: CONFIG_BPFILTER
* and CONFIG_BPFILTER_UMH) are no longer checked with bpftool feature probe
* More information displayed for BPF links
* Generate shadow variables for struct_ops maps in program skeletons
* Mark orphaned programs as such when listing programs
* Recognize arena map types (a09e203) and global variables
* Support the addr_space_cast instruction in the disassembler for translated
programs
* In the mirror repository, fix the detection of clang-bpf-co-re (for
skeletons support) for some clang versions
* Displaying PIDs for processes holding references to BPF links when listing
links with bpftool link list on older kernels broke in v7.3.0, because the
internal program pid_iter would fail to load
-------------------------------------------------------------------
Tue Nov 28 07:24:46 UTC 2023 - Shung-Hsi Yu <shung-hsi.yu@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package bpftool
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,30 @@
#
# Use default LLVM on openSUSE unless it is not yet supported
%if 0%{?suse_version} >= 1600 || 0%{?is_opensuse}
%if 0%{?product_libs_llvm_ver} > 17
%define llvm_major_version 17
%else
%define llvm_major_version %{nil}
%endif
%else
# Hard-code latest LLVM for SLES, the default version is too old
%if 0%{?sle_version} == 150600
%define llvm_major_version 17
%else
%if 0%{?sle_version} == 150500
%define llvm_major_version 15
%else
%if 0%{?sle_version} == 150400
%define llvm_major_version 11
%endif
%endif
%endif
%endif
Name: bpftool
Version: 7.3.0
Version: 7.5.0
Release: 0
Summary: Tool for inspection and manipulation of BPF programs and maps
License: GPL-2.0-only
@@ -26,19 +48,14 @@ URL: https://www.kernel.org/
Source0: https://github.com/libbpf/bpftool/releases/download/v%{version}/bpftool-libbpf-v%{version}-sources.tar.gz
Patch0: binutils-2.40.patch
BuildRequires: binutils-devel
%if 0%{?suse_version} && 0%{?suse_version} <= 1500
%if 0%{?sle_version} < 150400
BuildRequires: clang12-devel
%else
BuildRequires: clang13-devel
%endif
%else
BuildRequires: clang-devel
%endif
# Needed for compiling included BPF program (i.e. skeletons)
BuildRequires: clang%{llvm_major_version}
BuildRequires: docutils
BuildRequires: libcap-devel
BuildRequires: libelf-devel
BuildRequires: libzstd-devel
# llvm-strip is needed for the included BPF program (i.e. skeletons)
BuildRequires: llvm%{llvm_major_version}
%description
bpftool allows for inspection and simple modification of BPF objects (programs