From 4c48b5f464b6f532678c7fdfd88bf31245ee90d4 Mon Sep 17 00:00:00 2001 From: Viktor Malik Date: Thu, 23 Oct 2025 14:01:47 +0200 Subject: [PATCH] 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 --- .gitignore | 1 + ...arch64-fixes-statsnoop-and-opensnoop.patch | 24 ++++++++++--------- bpftrace.spec | 11 +++++---- sources | 2 +- 4 files changed, 21 insertions(+), 17 deletions(-) rename bpftrace-0.23.5-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch => bpftrace-0.24.1-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch (73%) diff --git a/.gitignore b/.gitignore index a48ed98..fe42a4c 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/bpftrace-0.23.5-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch b/bpftrace-0.24.1-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch similarity index 73% rename from bpftrace-0.23.5-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch rename to bpftrace-0.24.1-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch index bb19d11..debbac0 100644 --- a/bpftrace-0.23.5-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch +++ b/bpftrace-0.24.1-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch @@ -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 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 +Signed-off-by: Viktor Malik --- 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 diff --git a/bpftrace.spec b/bpftrace.spec index 373cb24..f698404 100644 --- a/bpftrace.spec +++ b/bpftrace.spec @@ -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 - 0.24.1-1 +- Rebase to upstream version 0.24.1 (RHEL-79000) + * Mon Jun 16 2025 Viktor Malik - 0.23.5-1 - Rebase to upstream version 0.23.5 which fixes an issue with kstack/ustack on s390x (RHEL-96958) diff --git a/sources b/sources index b721d87..c5be886 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (bpftrace-0.23.5.tar.gz) = 1e040bce7636da4e2ebeffc1c8fc3944feb26ef2c371ff287b323123ef89b839fbaa492a61e8164efedc7579e73aebc489f168ecad903f3cac6144d8bbc4b6f1 +SHA512 (bpftrace-0.24.1.tar.gz) = 97ce3d909c6d6fe021afc6db4ea67dd70fa85502358ee89314d8cf58cb8727ce091bbbdf23f73d9eaadae59d8244d76530dda89993b499deebe7f90edd21cda7