Enable workaround for LLVM-15

This workaround allows bpftrace to be compiled against
LLVM-15.  This will have to be address properly before LLVM-16
More details from LLVM here: https://llvm.org/docs/OpaquePointers.html

Submitted upstream: https://github.com/iovisor/bpftrace/pull/2367
This commit is contained in:
kenneth topp 2022-09-26 09:47:43 -04:00
parent f0fa9457c8
commit c8dcef71a3
2 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From 07fa48a94ef6d6bb1f335de345de18fe9776ca57 Mon Sep 17 00:00:00 2001
From: kenneth topp <toppk@bllue.org>
Date: Mon, 26 Sep 2022 00:33:29 -0400
Subject: [PATCH] Workaround OpaquePointers for LLVM 15
This workaround allows bpftrace to be compiled against
LLVM-15. This will have to be address properly before LLVM-16
More details from LLVM here: https://llvm.org/docs/OpaquePointers.html
---
src/ast/irbuilderbpf.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/ast/irbuilderbpf.cpp b/src/ast/irbuilderbpf.cpp
index d49883f7..00f0f172 100644
--- a/src/ast/irbuilderbpf.cpp
+++ b/src/ast/irbuilderbpf.cpp
@@ -123,6 +123,9 @@ IRBuilderBPF::IRBuilderBPF(LLVMContext &context,
module_(module),
bpftrace_(bpftrace)
{
+#if LLVM_VERSION_MAJOR == 15
+ context.setOpaquePointers(false);
+#endif
// Declare external LLVM function
FunctionType *pseudo_func_type = FunctionType::get(
getInt64Ty(),
--
2.37.3

View File

@ -1,11 +1,12 @@
Name: bpftrace Name: bpftrace
Version: 0.16.0 Version: 0.16.0
Release: 2%{?dist} Release: 3%{?dist}
Summary: High-level tracing language for Linux eBPF Summary: High-level tracing language for Linux eBPF
License: ASL 2.0 License: ASL 2.0
URL: https://github.com/iovisor/bpftrace URL: https://github.com/iovisor/bpftrace
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-Workaround-OpaquePointers-for-LLVM-15.patch
# Arches will be included as upstream support is added and dependencies are # Arches will be included as upstream support is added and dependencies are
# satisfied in the respective arches # satisfied in the respective arches
@ -80,6 +81,9 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \
%changelog %changelog
* Mon Sep 26 2022 Kenneth Topp <toppk@bllue.org> - 0.16.0-3
- Enable workaround for non OpaquePointers on LLVM-15
* Mon Sep 19 2022 Pete Walter <pwalter@fedoraproject.org> - 0.16.0-2 * Mon Sep 19 2022 Pete Walter <pwalter@fedoraproject.org> - 0.16.0-2
- Rebuild for llvm 15 - Rebuild for llvm 15