View | Details | Raw Unified | Return to bug 251192
Collapse All | Expand All

(-)Makefile (-1 / +1 lines)
Lines 5-11 Link Here
5
DISTVERSION?=	13.0
5
DISTVERSION?=	13.0
6
# PORTREVISION must be ?= otherwise, all slave ports get this PORTREVISION and
6
# PORTREVISION must be ?= otherwise, all slave ports get this PORTREVISION and
7
# not their own.  Probably best to keep it at ?=0 when reset here too.
7
# not their own.  Probably best to keep it at ?=0 when reset here too.
8
PORTREVISION?=	4
8
PORTREVISION?=	5
9
CATEGORIES?=	databases
9
CATEGORIES?=	databases
10
MASTER_SITES=	PGSQL/source/v${DISTVERSION}
10
MASTER_SITES=	PGSQL/source/v${DISTVERSION}
11
PKGNAMESUFFIX?= ${PORTVERSION:R}${COMPONENT}
11
PKGNAMESUFFIX?= ${PORTVERSION:R}${COMPONENT}
(-)files/patch-disable-llvm-jit-inlining-with-tls (+24 lines)
Line 0 Link Here
1
Do not inline functions which access TLS in LLVM JIT, as
2
this leads to crashes with unsupported relocation error
3
4
diff --git src/backend/jit/llvm/llvmjit_inline.cpp src/backend/jit/llvm/llvmjit_inline.cpp
5
index 2617a46..a063edb 100644
6
--- src/backend/jit/llvm/llvmjit_inline.cpp
7
+++ src/backend/jit/llvm/llvmjit_inline.cpp
8
@@ -608,6 +608,16 @@ function_inlinable(llvm::Function &F,
9
 		if (rv->materialize())
10
 			elog(FATAL, "failed to materialize metadata");
11
 
12
+		/*
13
+		 * Don't inline functions with thread-local variables until
14
+		 * related crashes are investigated (see BUG #16696)
15
+		 */
16
+		if (rv->isThreadLocal()) {
17
+			ilog(DEBUG1, "cannot inline %s due to thread-local variable %s",
18
+				F.getName().data(), rv->getName().data());
19
+			return false;
20
+		}
21
+
22
 		/*
23
 		 * Never want to inline externally visible vars, cheap enough to
24
 		 * reference.

Return to bug 251192