From 6e73c01ca294cad676832f41673dde82c85511d3 Mon Sep 17 00:00:00 2001 From: Sunil Dora Date: Sat, 29 Aug 2026 11:35:20 +0530 Subject: [PATCH] bcc: Fix build with LLVM 23 LLVM 23 changed the MCContext constructor to take MCAsmInfo, MCRegisterInfo and MCSubtargetInfo by reference rather than by pointer, so bcc no longer builds: src/cc/bcc_debug.cc:151:68: error: no matching function for call to 'llvm::MCContext::MCContext(...)' Backport the upstream fix. It is guarded on LLVM_VERSION_MAJOR so older Clang keeps working. There is no release carrying it yet; v0.37.0 is still the newest tag. Co-authored-by: Deepesh Varatharajan Signed-off-by: Sunil Dora Signed-off-by: Khem Raj --- ...ix-MCContext-constructor-for-LLVM-23.patch | 36 +++++++++++++++++++ .../recipes-devtools/bcc/bcc_0.37.0.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-src-cc-Fix-MCContext-constructor-for-LLVM-23.patch diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-src-cc-Fix-MCContext-constructor-for-LLVM-23.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-src-cc-Fix-MCContext-constructor-for-LLVM-23.patch new file mode 100644 index 0000000000..b29e85ee64 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-src-cc-Fix-MCContext-constructor-for-LLVM-23.patch @@ -0,0 +1,36 @@ +From dad0db93fd0f443b2a4f43bc2f23c621c9202516 Mon Sep 17 00:00:00 2001 +From: Viktor Malik +Date: Thu, 13 Aug 2026 08:22:00 +0200 +Subject: [PATCH] src/cc: Fix MCContext constructor for LLVM 23 + +Two LLVM 23 patches [1,2] changed the MCContext constructor to take +MCAsmInfo, MCRegisterInfo, and MCSubtargetInfo by a reference rather +than by a pointer. Reflect the change in call of the constructor. + +[1] https://github.com/llvm/llvm-project/commit/13e98d834101efd1794cdd026377c508293ee21b +[2] https://github.com/llvm/llvm-project/commit/d50631faad3003e73589528c83d3bbbad7ba72f1 + +Upstream-Status: Backport [https://github.com/iovisor/bcc/commit/dad0db93fd0f] + +Signed-off-by: Viktor Malik +Signed-off-by: Sunil Dora +--- + src/cc/bcc_debug.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/cc/bcc_debug.cc b/src/cc/bcc_debug.cc +index 2e53c44d4778..0812c4abc788 100644 +--- a/src/cc/bcc_debug.cc ++++ b/src/cc/bcc_debug.cc +@@ -148,7 +148,11 @@ void SourceDebugger::dump() { + T->createMCSubtargetInfo(TripleArg, "", "")); + MCObjectFileInfo MOFI; + #if LLVM_VERSION_MAJOR >= 13 ++#if LLVM_VERSION_MAJOR >= 23 ++ MCContext Ctx(TheTriple, *MAI, *MRI, *STI, nullptr); ++#else + MCContext Ctx(TheTriple, MAI.get(), MRI.get(), STI.get(), nullptr); ++#endif + Ctx.setObjectFileInfo(&MOFI); + MOFI.initMCObjectFileInfo(Ctx, false, false); + #else diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.37.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.37.0.bb index 9315a6e603..2d44abebb4 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.37.0.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.37.0.bb @@ -23,6 +23,7 @@ SRC_URI = "gitsm://github.com/iovisor/bcc;branch=master;protocol=https;lfs=0;tag file://0001-CMakeLists.txt-override-the-PY_CMD_ESCAPED.patch \ file://0001-Vendor-just-enough-extra-headers-to-allow-libbpf-to-.patch \ file://0001-tests-cc-Allow-overriding-the-runtime-location-of-te.patch \ + file://0001-src-cc-Fix-MCContext-constructor-for-LLVM-23.patch \ file://run-ptest \ file://ptest_wrapper.sh \ "