jit: fix build with LLVM-21
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 15 Sep 2025 06:13:21 +0000 (08:13 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 15 Sep 2025 06:31:11 +0000 (08:31 +0200)
LLVM-21 renamed llvm::GlobalValue::getGUID() to
getGUIDAssumingExternalLinkage(), so add a version guard.

Author: Holger Hoffstätte <holger@applied-asynchrony.com>
Discussion: https://www.postgresql.org/message-id/flat/d25e6e4a-d1b4-84d3-2f8a-6c45b975f53d%40applied-asynchrony.com

src/backend/jit/llvm/llvmjit_inline.cpp

index 2764c3bbe2f03630ad168938b5175342b16fad86..51b32cd9f940da02b8a0de5dd4746b6c4b0b99ff 100644 (file)
@@ -238,7 +238,11 @@ llvm_build_inline_plan(LLVMContextRef lc, llvm::Module *mod)
 
        llvm_split_symbol_name(symbolName.data(), &cmodname, &cfuncname);
 
+#if LLVM_VERSION_MAJOR >= 21
+       funcGUID = llvm::GlobalValue::getGUIDAssumingExternalLinkage(cfuncname);
+#else
        funcGUID = llvm::GlobalValue::getGUID(cfuncname);
+#endif
 
        /* already processed */
        if (inlineState.processed)