diff options
2 files changed, 59 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace/0001-Adjust-to-build-with-llvm-17.patch b/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace/0001-Adjust-to-build-with-llvm-17.patch new file mode 100644 index 0000000..6720ea0 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace/0001-Adjust-to-build-with-llvm-17.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From 3aa0c5caadb03b1c30d0ac366dbc7b592076dc43 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 6 Jul 2023 08:59:41 -0700 | ||
4 | Subject: [PATCH] Adjust to build with llvm 17 | ||
5 | |||
6 | PassManagerBuilder has been removed in llvm 17 | ||
7 | itaniumDemangle() API signature has changed too | ||
8 | |||
9 | Upstream-Status: Submitted [https://github.com/iovisor/bpftrace/pull/2667] | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | src/ast/passes/codegen_llvm.cpp | 4 ++++ | ||
13 | src/cxxdemangler/cxxdemangler_llvm.cpp | 4 ++++ | ||
14 | 2 files changed, 8 insertions(+) | ||
15 | |||
16 | diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp | ||
17 | index 1af2a23e..49ab8c9d 100644 | ||
18 | --- a/src/ast/passes/codegen_llvm.cpp | ||
19 | +++ b/src/ast/passes/codegen_llvm.cpp | ||
20 | @@ -7,7 +7,9 @@ | ||
21 | #include <ctime> | ||
22 | #include <fstream> | ||
23 | |||
24 | +#if LLVM_VERSION_MAJOR <= 16 | ||
25 | #include <llvm-c/Transforms/IPO.h> | ||
26 | +#endif | ||
27 | #include <llvm/IR/Constants.h> | ||
28 | #include <llvm/IR/LLVMContext.h> | ||
29 | #include <llvm/IR/LegacyPassManager.h> | ||
30 | @@ -17,7 +19,9 @@ | ||
31 | #include <llvm/Passes/PassBuilder.h> | ||
32 | #endif | ||
33 | #include <llvm/Transforms/IPO.h> | ||
34 | +#if LLVM_VERSION_MAJOR <= 16 | ||
35 | #include <llvm/Transforms/IPO/PassManagerBuilder.h> | ||
36 | +#endif | ||
37 | #if LLVM_VERSION_MAJOR >= 14 | ||
38 | #include <llvm/MC/TargetRegistry.h> | ||
39 | #else | ||
40 | diff --git a/src/cxxdemangler/cxxdemangler_llvm.cpp b/src/cxxdemangler/cxxdemangler_llvm.cpp | ||
41 | index e9a9db24..1b0bf7ea 100644 | ||
42 | --- a/src/cxxdemangler/cxxdemangler_llvm.cpp | ||
43 | +++ b/src/cxxdemangler/cxxdemangler_llvm.cpp | ||
44 | @@ -6,7 +6,11 @@ namespace bpftrace { | ||
45 | |||
46 | char* cxxdemangle(const char* mangled) | ||
47 | { | ||
48 | +#if LLVM_VERSION_MAJOR <= 16 | ||
49 | return llvm::itaniumDemangle(mangled, nullptr, nullptr, nullptr); | ||
50 | +#else | ||
51 | + return llvm::itaniumDemangle(mangled); | ||
52 | +#endif | ||
53 | } | ||
54 | |||
55 | } // namespace bpftrace | ||
56 | -- | ||
57 | 2.41.0 | ||
58 | |||
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace_0.18.0.bb b/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace_0.18.0.bb index 0d7261f..48cd315 100644 --- a/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace_0.18.0.bb +++ b/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace_0.18.0.bb | |||
@@ -18,6 +18,7 @@ RDEPENDS:${PN} += "bash python3 xz" | |||
18 | 18 | ||
19 | SRC_URI = "git://github.com/iovisor/bpftrace;branch=master;protocol=https \ | 19 | SRC_URI = "git://github.com/iovisor/bpftrace;branch=master;protocol=https \ |
20 | file://0001-cmake-Raise-max-llvm-major-version-to-16.patch \ | 20 | file://0001-cmake-Raise-max-llvm-major-version-to-16.patch \ |
21 | file://0001-Adjust-to-build-with-llvm-17.patch \ | ||
21 | file://run-ptest \ | 22 | file://run-ptest \ |
22 | " | 23 | " |
23 | SRCREV = "e199c7e73da84bff9fe744d1e3402c2b505aa5a2" | 24 | SRCREV = "e199c7e73da84bff9fe744d1e3402c2b505aa5a2" |