Rebase bpftrace to 0.23.5

Resolves: RHEL-79000

Upstream dropped usage of lldb for parsing DWARF and replaced it by
using libdw (from elfutils).

Next, upstream has removed the doc .txt files from the tools directory
(the documentation is now inlined in the tools comments).

Finally, drop an old usage of `USE_SYSTEM_BPF_BCC=ON` as it's no longer
used by the project.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
This commit is contained in:
Viktor Malik 2025-10-23 14:01:47 +02:00
parent 6d5c9dbb1c
commit 4c48b5f464
No known key found for this signature in database
GPG Key ID: AF7A2E1F6EE74FB3
4 changed files with 21 additions and 17 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@
/bpftrace-0.23.2.tar.gz
/bpftrace-0.23.3.tar.gz
/bpftrace-0.23.5.tar.gz
/bpftrace-0.24.1.tar.gz

View File

@ -1,47 +1,49 @@
From 6c8eccec1d7112ac5c64ced79df599215de9bd34 Mon Sep 17 00:00:00 2001
From 3209f57cdcbe597ff5464cae32b08017a25a2762 Mon Sep 17 00:00:00 2001
From: Jerome Marchand <jmarchan@redhat.com>
Date: Thu, 11 Jun 2020 14:56:36 +0200
Subject: [PATCH] RHEL: aarch64: fixes statsnoop and opensnoop
On aarch64 the open syscall has been dropped. Only openat remains,
wich is called by libc open() function.
which is called by libc open() function.
The state of *stat* syscalls, is a mess. They are several generations
of the system calls, and not all arches provides all of them. For
instance, new(l)stat are missing from aarch64.
The only way I can think of fixing thess is RHEL-8 only arch specific
The only way I can think of fixing these is RHEL-10 only arch specific
patches.
Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Signed-off-by: Viktor Malik <vmalik@redhat.com>
---
tools/opensnoop.bt | 2 --
tools/statsnoop.bt | 8 ++------
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/tools/opensnoop.bt b/tools/opensnoop.bt
index bbb26419..95185e5f 100755
index aafacd10..1e51197e 100755
--- a/tools/opensnoop.bt
+++ b/tools/opensnoop.bt
@@ -21,13 +21,11 @@ BEGIN
@@ -49,14 +49,12 @@ BEGIN
printf("%-6s %-16s %4s %3s %s\n", "PID", "COMM", "FD", "ERR", "PATH");
}
-tracepoint:syscalls:sys_enter_open,
tracepoint:syscalls:sys_enter_openat
tracepoint:syscalls:sys_enter_openat,
tracepoint:syscalls:sys_enter_openat2
{
@filename[tid] = args.filename;
}
-tracepoint:syscalls:sys_exit_open,
tracepoint:syscalls:sys_exit_openat
tracepoint:syscalls:sys_exit_openat,
tracepoint:syscalls:sys_exit_openat2
/@filename[tid]/
{
diff --git a/tools/statsnoop.bt b/tools/statsnoop.bt
index a76b2bcc..89c2c8ea 100755
index ebab9744..48367151 100755
--- a/tools/statsnoop.bt
+++ b/tools/statsnoop.bt
@@ -30,17 +30,13 @@ tracepoint:syscalls:sys_enter_statfs
@@ -77,17 +77,13 @@ tracepoint:syscalls:sys_enter_statfs
@filename[tid] = args.pathname;
}
@ -62,5 +64,5 @@ index a76b2bcc..89c2c8ea 100755
{
$ret = args.ret;
--
2.45.0
2.50.1

View File

@ -1,5 +1,5 @@
Name: bpftrace
Version: 0.23.5
Version: 0.24.1
Release: 1%{?dist}
Summary: High-level tracing language for Linux eBPF
License: Apache-2.0
@ -17,6 +17,7 @@ BuildRequires: gcc-c++
BuildRequires: bison
BuildRequires: flex
BuildRequires: cmake
BuildRequires: elfutils-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: zlib-devel
BuildRequires: llvm-devel
@ -26,8 +27,8 @@ BuildRequires: libbpf-devel
BuildRequires: libbpf-static
BuildRequires: binutils-devel
BuildRequires: cereal-devel
BuildRequires: lldb-devel
BuildRequires: rubygem-asciidoctor
BuildRequires: xxd
%description
@ -48,7 +49,6 @@ and predecessor tracers such as DTrace and SystemTap
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_TESTING:BOOL=OFF \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DUSE_SYSTEM_BPF_BCC:BOOL=ON
%cmake_build
@ -66,13 +66,11 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \
%license LICENSE
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/tools
%dir %{_datadir}/%{name}/tools/doc
%{_bindir}/%{name}
%{_bindir}/%{name}-aotrt
%{_mandir}/man8/*
%{bash_completions_dir}/%{name}
%attr(0755,-,-) %{_datadir}/%{name}/tools/*.bt
%{_datadir}/%{name}/tools/doc/*.txt
# Do not include old versions of tools, they do not work on RHEL 10
%exclude %{_datadir}/%{name}/tools/old
# biolatency-kp.bt attaches to kprobes which are inlined on RHEL 9.
@ -81,6 +79,9 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \
%changelog
* Thu Oct 23 2025 Viktor Malik <vmalik@redhat.com> - 0.24.1-1
- Rebase to upstream version 0.24.1 (RHEL-79000)
* Mon Jun 16 2025 Viktor Malik <vmalik@redhat.com> - 0.23.5-1
- Rebase to upstream version 0.23.5 which fixes an issue with kstack/ustack on
s390x (RHEL-96958)

View File

@ -1 +1 @@
SHA512 (bpftrace-0.23.5.tar.gz) = 1e040bce7636da4e2ebeffc1c8fc3944feb26ef2c371ff287b323123ef89b839fbaa492a61e8164efedc7579e73aebc489f168ecad903f3cac6144d8bbc4b6f1
SHA512 (bpftrace-0.24.1.tar.gz) = 97ce3d909c6d6fe021afc6db4ea67dd70fa85502358ee89314d8cf58cb8727ce091bbbdf23f73d9eaadae59d8244d76530dda89993b499deebe7f90edd21cda7