diff --git a/adapt-to-bcc.patch b/adapt-to-bcc.patch deleted file mode 100644 index d9606548c85f25d6be41021ee41aed1d593feffc..0000000000000000000000000000000000000000 --- a/adapt-to-bcc.patch +++ /dev/null @@ -1,89 +0,0 @@ -From f86c3bde84d9e75ec2780a51a1ca7dc20a4740e6 Mon Sep 17 00:00:00 2001 -From: Dominique Martinet -Date: Thu, 25 Aug 2022 21:47:30 +0900 -Subject: [PATCH] Fix builds against bcc >= 0.25.0 - -libbpf 1.0.0 removed bpf_load_program_attr in -https://github.com/libbpf/libbpf/commit/9476dce6fe905a6bf1d4c483f7b2b8575c4ffb2d -and bcc 0.25.0 in turn changed bcc_prog_load_xattr to use -bpf_prog_load_opts instead in -https://github.com/iovisor/bcc/commit/185143bdec6134255363446f644acd766ffb3825 - -Add a compile check to use the appropriate version - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c5c4c39630d2..f23b2ba52740 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -138,7 +138,7 @@ check_symbol_exists(bpf_attach_kfunc "${LIBBCC_INCLUDE_DIRS}/bcc/libbpf.h" HAVE_ - check_symbol_exists(bcc_usdt_addsem_probe "${LIBBCC_INCLUDE_DIRS}/bcc/bcc_usdt.h" HAVE_BCC_USDT_ADDSEM) - check_symbol_exists(bcc_procutils_which_so "${LIBBCC_INCLUDE_DIRS}/bcc/bcc_proc.h" HAVE_BCC_WHICH_SO) - --# bcc_prog_load_xattr needs struct bpf_load_program_attr, -+# bcc_prog_load_xattr needs struct bpf_prog_load_opts or bpf_load_program_attr, - # which is defined in libbpf - if (LIBBPF_FOUND) - check_symbol_exists(bcc_prog_load_xattr "${LIBBCC_INCLUDE_DIRS}/bcc/libbpf.h" HAVE_BCC_PROG_LOAD_XATTR) -@@ -236,6 +236,10 @@ if(LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE) - set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE) - endif(LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE) - -+if(LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS) -+ set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS) -+endif(LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS) -+ - if (HAVE_BCC_KFUNC) - set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" HAVE_BCC_KFUNC) - endif(HAVE_BCC_KFUNC) -diff --git a/cmake/FindLibBcc.cmake b/cmake/FindLibBcc.cmake -index 7b4f12835786..20d2e68cd75f 100644 ---- a/cmake/FindLibBcc.cmake -+++ b/cmake/FindLibBcc.cmake -@@ -85,6 +85,16 @@ int main(void) { - return 0; - } - " LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE) -+CHECK_CXX_SOURCE_COMPILES(" -+#include -+ -+int main(void) { -+ struct bpf_prog_load_opts *opts = (struct bpf_prog_load_opts*) 1; -+ -+ bcc_prog_load_xattr(BPF_PROG_TYPE_UNSPEC, 0, 0, 0, opts, 0, 0, 0, true); -+ return 0; -+} -+" LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS) - SET(CMAKE_REQUIRED_INCLUDES) - - SET(CMAKE_REQUIRED_LIBRARIES ${LIBBCC_BPF_LIBRARIES}) -diff --git a/src/attached_probe.cpp b/src/attached_probe.cpp -index 60778e53ce44..dd46f15fd8d2 100644 ---- a/src/attached_probe.cpp -+++ b/src/attached_probe.cpp -@@ -731,7 +731,24 @@ void AttachedProbe::load_prog() - continue; - } - --#ifdef HAVE_BCC_PROG_LOAD_XATTR -+#ifdef LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS -+ struct bpf_prog_load_opts opts = { }; -+ -+ opts.sz = sizeof(opts); -+ opts.log_level = log_level; -+ -+ progfd_ = bcc_prog_load_xattr( -+ progtype(probe_.type), -+ name.c_str(), -+ license, -+ reinterpret_cast(insns), -+ &opts, -+ prog_len, -+ log_buf.get(), -+ log_buf_size, -+ true); -+ -+#elif HAVE_BCC_PROG_LOAD_XATTR - struct bpf_load_program_attr attr = {}; - - attr.prog_type = progtype(probe_.type); - \ No newline at end of file diff --git a/bpftrace.spec b/bpftrace.spec index 115eebff2e60500814506e279b2e6424437e45fb..c2f63b35cac11b9f7cab7906c4fa3a9cddf11e48 100644 --- a/bpftrace.spec +++ b/bpftrace.spec @@ -1,12 +1,11 @@ Name: bpftrace -Version: 0.15.0 -Release: 3 +Version: 0.16.0 +Release: 1 Summary: High-level tracing language for Linux eBPF License: ASL 2.0 URL: https://github.com/iovisor/bpftrace Source0: %{url}/archive/refs/tags/v%{version}.tar.gz -Patch0: adapt-to-bcc.patch # Arches will be included as upstream support is added and dependencies are # satisfied in the respective arches @@ -50,7 +49,6 @@ and predecessor tracers such as DTrace and SystemTap. find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \ sed -i -e '1s=^#!/usr/bin/env %{name}\([0-9.]\+\)\?$=#!%{_bindir}/%{name}=' {} \; - %files %doc README.md CONTRIBUTING-TOOLS.md %doc docs/reference_guide.md docs/tutorial_one_liners.md @@ -68,6 +66,9 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \ %changelog +* Thu Mar 02 2023 Ge Wang - 0.16.0-1 +- Update to version 0.16.0 + * Tue Feb 14 2023 laokz - 0.15.0-3 - add riscv64 to supported arch diff --git a/v0.15.0.tar.gz b/v0.15.0.tar.gz deleted file mode 100644 index e031ed24ba38b25735c28c5981482abbc0319531..0000000000000000000000000000000000000000 Binary files a/v0.15.0.tar.gz and /dev/null differ diff --git a/v0.16.0.tar.gz b/v0.16.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..dea403637f588d1f5782b03c04f51bf03187d966 Binary files /dev/null and b/v0.16.0.tar.gz differ