postgres.git / summary / log / commit / refs

commit    0dceba21d74f01e63aa690879b44808bbb74a9c3
Author:   Thomas Munro <tmunro@postgresql.org>
Date:     Sat Nov 22 07:51:16 2025 +0000

    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.
    
    https://github.com/llvm/llvm-project/commit/cd585864c0bbbd74ed2a2b1ccc191eed4d1c8f90
    
    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


src/backend/jit/llvm/llvmjit_wrap.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index da850d67ab6..c31a57b8563 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -53,7 +53,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 [parent: 51da766494dc]