jit: Adjust AArch64-only code for LLVM 21.

LLVM 21 changed the arguments of RTDyldObjectLinkingLayer's
constructor, breaking compilation with the backported
SectionMemoryManager from commit 9044fc1d.

cd585864c0

Backpatch-through: 14
Author: Holger Hoffstätte <holger@applied-asynchrony.com>
Reviewed-by: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
Discussion: https://postgr.es/m/d25e6e4a-d1b4-84d3-2f8a-6c45b975f53d%40applied-asynchrony.com
REL_15_STABLE
Thomas Munro 4 weeks ago
parent 7c494072bc
commit 55164852d3
  1. 7
      src/backend/jit/llvm/llvmjit_wrap.cpp

@ -118,7 +118,14 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(llvm::orc::ObjectLayer, LLVMOrcObjectLayerRef
LLVMOrcObjectLayerRef
LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(LLVMOrcExecutionSessionRef ES)
{
#if LLVM_VERSION_MAJOR >= 21
return wrap(new llvm::orc::RTDyldObjectLinkingLayer(
*unwrap(ES), [](const llvm::MemoryBuffer&) {
return std::make_unique<llvm::backport::SectionMemoryManager>(nullptr, true);
}));
#else
return wrap(new llvm::orc::RTDyldObjectLinkingLayer(
*unwrap(ES), [] { return std::make_unique<llvm::backport::SectionMemoryManager>(nullptr, true); }));
#endif
}
#endif

Loading…
Cancel
Save