From 6c835e5c4a7e6cfaf44d3714e6bd2e7b196a8378 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Jul 2023 09:04:06 -0700 Subject: bpftrace: Fix build with llvm 17 Signed-off-by: Khem Raj --- .../0001-Adjust-to-build-with-llvm-17.patch | 58 ++++++++++++++++++++++ .../recipes-devtools/bpftrace/bpftrace_0.18.0.bb | 1 + 2 files changed, 59 insertions(+) create mode 100644 dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace/0001-Adjust-to-build-with-llvm-17.patch (limited to 'dynamic-layers') 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 @@ +From 3aa0c5caadb03b1c30d0ac366dbc7b592076dc43 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 6 Jul 2023 08:59:41 -0700 +Subject: [PATCH] Adjust to build with llvm 17 + +PassManagerBuilder has been removed in llvm 17 +itaniumDemangle() API signature has changed too + +Upstream-Status: Submitted [https://github.com/iovisor/bpftrace/pull/2667] +Signed-off-by: Khem Raj +--- + src/ast/passes/codegen_llvm.cpp | 4 ++++ + src/cxxdemangler/cxxdemangler_llvm.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp +index 1af2a23e..49ab8c9d 100644 +--- a/src/ast/passes/codegen_llvm.cpp ++++ b/src/ast/passes/codegen_llvm.cpp +@@ -7,7 +7,9 @@ + #include + #include + ++#if LLVM_VERSION_MAJOR <= 16 + #include ++#endif + #include + #include + #include +@@ -17,7 +19,9 @@ + #include + #endif + #include ++#if LLVM_VERSION_MAJOR <= 16 + #include ++#endif + #if LLVM_VERSION_MAJOR >= 14 + #include + #else +diff --git a/src/cxxdemangler/cxxdemangler_llvm.cpp b/src/cxxdemangler/cxxdemangler_llvm.cpp +index e9a9db24..1b0bf7ea 100644 +--- a/src/cxxdemangler/cxxdemangler_llvm.cpp ++++ b/src/cxxdemangler/cxxdemangler_llvm.cpp +@@ -6,7 +6,11 @@ namespace bpftrace { + + char* cxxdemangle(const char* mangled) + { ++#if LLVM_VERSION_MAJOR <= 16 + return llvm::itaniumDemangle(mangled, nullptr, nullptr, nullptr); ++#else ++ return llvm::itaniumDemangle(mangled); ++#endif + } + + } // namespace bpftrace +-- +2.41.0 + 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" SRC_URI = "git://github.com/iovisor/bpftrace;branch=master;protocol=https \ file://0001-cmake-Raise-max-llvm-major-version-to-16.patch \ + file://0001-Adjust-to-build-with-llvm-17.patch \ file://run-ptest \ " SRCREV = "e199c7e73da84bff9fe744d1e3402c2b505aa5a2" -- cgit v1.2.3-54-g00ecf