Compare commits

2 Commits
1.1 ... main

4 changed files with 97 additions and 15 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,73 @@
-------------------------------------------------------------------
Sun May 25 04:18:20 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Change .spec to not write files
-------------------------------------------------------------------
Tue Feb 25 10:01:22 UTC 2025 - Christophe Marin <christophe@krop.fr>
- Simplify the LLVM version conditions
-------------------------------------------------------------------
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) 2025 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,25 @@
#
# Use latest version by default on Tumbleweed (as of 2025-02-25: llvm 19)
%define llvm_major_version %{nil}
# Default versions are too old on Leap 15 and SLES 15, overwrite llvm_major_version
%if 0%{?suse_version} == 1500
%define llvm_major_version 17
%endif
%if 0%{?sle_version} == 150600
%define llvm_major_version 17
%endif
%if 0%{?sle_version} == 150500
%define llvm_major_version 15
%endif
%if 0%{?sle_version} == 150400
%define llvm_major_version 11
%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 +43,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
@@ -62,7 +74,7 @@ sed -i -e 's/CFLAGS += -O2/CFLAGS = $(RPM_OPT_FLAGS)/' src/Makefile
%make_build -C src V=1 \
feature-reallocarray=1 \
feature-libbfd-liberty=1 \
%if %(if gcc -lsframe -shared 2>/dev/null ; then echo 1 ; else echo 0; fi; )
%if %(if gcc -lsframe -shared -o /dev/null 2>/dev/null ; then echo 1 ; else echo 0; fi; )
feature-libbfd-liberty-sframe=1 \
%endif
feature-disassembler-four-args=1 \