Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package postgresql12 for openSUSE:Factory 
checked in at 2021-09-13 16:24:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgresql12 (Old)
 and      /work/SRC/openSUSE:Factory/.postgresql12.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "postgresql12"

Mon Sep 13 16:24:17 2021 rev:17 rq:917541 version:12.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/postgresql12/postgresql12.changes        
2021-05-21 21:49:33.394347718 +0200
+++ /work/SRC/openSUSE:Factory/.postgresql12.new.1899/postgresql12.changes      
2021-09-13 16:24:42.034756464 +0200
@@ -1,0 +2,26 @@
+Tue Aug 31 11:14:53 UTC 2021 - Reinhard Max <[email protected]>
+
+- bsc#1185952: fix build with llvm12 on s390x.
+  0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch 
+- bsc#1179945: Re-enable icu for PostgreSQL 10.
+
+-------------------------------------------------------------------
+Tue Aug 24 13:01:54 UTC 2021 - Marcus Rueckert <[email protected]>
+
+- Upgrade to version 12.8:
+  * https://www.postgresql.org/docs/12/release-12-8.html
+  * CVE-2021-3677 (boo#1189748)
+    The planner could create an incorrect plan in cases where two
+    ProjectionPaths were stacked on top of each other. The only
+    known way to trigger that situation involves parallel sort
+    operations, but there may be other instances. The result would
+    be crashes or incorrect query results. Disclosure of server
+    memory contents is also possible.
+
+-------------------------------------------------------------------
+Fri Jul  2 07:47:15 UTC 2021 - Reinhard Max <[email protected]>
+
+- bsc#1187751: Make the dependency of postgresqlXX-server-devel on
+  llvm and clang optional (postgresql-llvm-optional.patch).
+
+-------------------------------------------------------------------

Old:
----
  postgresql-12.7.tar.bz2
  postgresql-12.7.tar.bz2.sha256

New:
----
  0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch
  postgresql-12.8.tar.bz2
  postgresql-12.8.tar.bz2.sha256
  postgresql-llvm-optional.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ postgresql12.spec ++++++
--- /var/tmp/diff_new_pack.aK64ru/_old  2021-09-13 16:24:43.414758060 +0200
+++ /var/tmp/diff_new_pack.aK64ru/_new  2021-09-13 16:24:43.418758064 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define pgversion 12.7
+%define pgversion 12.8
 %define pgmajor 12
 %define pgsuffix %pgmajor
 %define buildlibs 0
@@ -72,11 +72,7 @@
 BuildRequires:  timezone
 BuildRequires:  zlib-devel
 %bcond_without  selinux
-%if %pgmajor > 10 || 0%{?suse_version} <= 1500
 %bcond_without  icu
-%else
-%bcond_with icu
-%endif
 %if  !%buildlibs
 BuildRequires:  %libecpg
 BuildRequires:  %libpq
@@ -88,6 +84,7 @@
 %bcond_with     systemd
 %bcond_with     systemd_notify
 %endif
+
 %if 0%{?suse_version} >= 1500 && %pgsuffix >= 11 && %pgsuffix < 90
 %bcond_without  llvm
 %else
@@ -115,15 +112,10 @@
 BuildRequires:  libselinux-devel
 %endif
 %if %{with llvm}
-BuildRequires:  gcc-c++
-%ifarch s390x
-BuildRequires:  clang11
-BuildRequires:  llvm11-devel
-%else
 BuildRequires:  clang
+BuildRequires:  gcc-c++
 BuildRequires:  llvm-devel
 %endif
-%endif
 BuildRequires:  libxslt-devel
 BuildRequires:  openldap2-devel
 BuildRequires:  openssl-devel
@@ -153,6 +145,10 @@
 Patch6:         postgresql-testsuite-int8.sql.patch
 Patch8:         postgresql-testsuite-keep-results-file.patch
 Patch9:         postgresql-var-run-socket.patch
+%if %{with llvm}
+Patch10:        postgresql-llvm-optional.patch
+Patch11:        0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch
+%endif
 URL:            https://www.postgresql.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Provides:       postgresql = %version-%release
@@ -227,9 +223,9 @@
 Provides:       %libecpg = %version-%release
 Provides:       %libpq = %version-%release
 Provides:       %pgname-devel = %version-%release
-Conflicts:      %pgname-devel
 Conflicts:      %libecpg
 Conflicts:      %libpq
+Conflicts:      %pgname-devel
 %else
 Requires:       %libecpg >= %version
 Requires:       %libpq >= %version
@@ -255,8 +251,8 @@
 Provides:       postgresql-server-devel-exclusive = %pgmajor
 Conflicts:      postgresql-server-devel-exclusive < %pgmajor
 %if %{with llvm}
-Requires:       clang
-Requires:       llvm
+Recommends:     clang
+Recommends:     llvm
 %endif
 Requires:       libxslt-devel
 Requires:       openssl-devel
@@ -459,6 +455,10 @@
 %patch6
 %patch8 -p1
 %patch9
+%if %{with llvm}
+%patch10
+%patch11
+%endif
 touch -r tmp configure
 rm tmp
 find src/test/ -name '*.orig' -delete
@@ -533,8 +533,7 @@
 %endif
 
 %install
-VLANG=${RPM_PACKAGE_VERSION%%.*}
-VSO=${RPM_PACKAGE_VERSION%%%%.*}
+VLANG=%pgmajor
 %if %mini
 make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/include install
 make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/interfaces install
@@ -922,6 +921,7 @@
 %if %buildlibs && %mini
 %files %devel -f devel.files -f libpq.files -f libecpg.files
 %else
+
 %files %devel -f devel.files
 %endif
 

++++++ 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch ++++++
>From 0edaa982336823d4d7af8f10b91579fe0099ef3d Mon Sep 17 00:00:00 2001
From: Tom Stellard <[email protected]>
Date: Tue, 20 Apr 2021 20:14:21 -0700
Subject: [PATCH] jit: Workaround potential datalayout mismatch on s390x

LLVM's s390x target uses a different datalayout for z13 and newer processors.
If llvmjit_types.bc is compiled to target a processor older than z13, and
then the JIT runs on a z13 or newer processor, then there will be a mismatch
in datalayouts between llvmjit_types.bc and the JIT engine.  This mismatch
causes the JIT to fail at runtime.
---
 src/backend/jit/llvm/llvmjit.c | 46 ++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

--- src/backend/jit/llvm/llvmjit.c.orig
+++ src/backend/jit/llvm/llvmjit.c
@@ -101,6 +101,7 @@ LLVMValueRef FuncExecEvalSysVar;
 LLVMValueRef FuncExecAggTransReparent;
 LLVMValueRef FuncExecAggInitGroup;
 
+LLVMModuleRef mod = NULL;
 
 static bool llvm_session_initialized = false;
 static size_t llvm_generation = 0;
@@ -742,6 +743,35 @@ llvm_compile_module(LLVMJitContext *cont
 }
 
 /*
+ * For the systemz target, LLVM uses a different datalayout for z13 and newer
+ * CPUs than it does for older CPUs.  This can cause a mismatch in datalayouts
+ * in the case where the llvm_types_module (mod) is compiled with a pre-z13 CPU
+ * and the JIT is running on z13 or newer.
+ * See computeDataLayout() function in
+ * llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp for information on the
+ * datalayout differences.
+ */
+static bool
+needs_systemz_workaround(void)
+{
+       bool ret = false;
+       LLVMContextRef llvm_context;
+       LLVMTypeRef vec_type;
+       LLVMTargetDataRef llvm_layoutref;
+       if (strncmp(LLVMGetTargetName(llvm_targetref), "systemz", 
strlen("systemz")))
+       {
+               return false;
+       }
+
+       llvm_context = LLVMGetModuleContext(mod);
+       vec_type = LLVMVectorType(LLVMIntTypeInContext(llvm_context, 32), 4);
+       llvm_layoutref = LLVMCreateTargetData(llvm_layout);
+       ret = (LLVMABIAlignmentOfType(llvm_layoutref, vec_type) == 16);
+       LLVMDisposeTargetData(llvm_layoutref);
+       return ret;
+}
+
+/*
  * Per session initialization.
  */
 static void
@@ -750,6 +780,7 @@ llvm_session_initialize(void)
        MemoryContext oldcontext;
        char       *error = NULL;
        char       *cpu = NULL;
+       char       *host_features = NULL;
        char       *features = NULL;
        LLVMTargetMachineRef opt0_tm;
        LLVMTargetMachineRef opt3_tm;
@@ -781,10 +812,17 @@ llvm_session_initialize(void)
         * features not all CPUs have (weird, huh).
         */
        cpu = LLVMGetHostCPUName();
-       features = LLVMGetHostCPUFeatures();
+       features = host_features = LLVMGetHostCPUFeatures();
        elog(DEBUG2, "LLVMJIT detected CPU \"%s\", with features \"%s\"",
                 cpu, features);
 
+       if (needs_systemz_workaround())
+       {
+               const char *no_vector =",-vector";
+               features = malloc(sizeof(char) * (strlen(host_features) + 
strlen(no_vector) + 1));
+               sprintf(features, "%s%s", host_features, no_vector);
+       }
+
        opt0_tm =
                LLVMCreateTargetMachine(llvm_targetref, llvm_triple, cpu, 
features,
                                                                
LLVMCodeGenLevelNone,
@@ -798,8 +836,13 @@ llvm_session_initialize(void)
 
        LLVMDisposeMessage(cpu);
        cpu = NULL;
-       LLVMDisposeMessage(features);
+       if (features != host_features)
+       {
+               free(features);
+       }
        features = NULL;
+       LLVMDisposeMessage(host_features);
+       host_features = NULL;
 
        /* force symbols in main binary to be loaded */
        LLVMLoadLibraryPermanently(NULL);
@@ -952,7 +995,6 @@ llvm_create_types(void)
        char            path[MAXPGPATH];
        LLVMMemoryBufferRef buf;
        char       *msg;
-       LLVMModuleRef mod = NULL;
 
        snprintf(path, MAXPGPATH, "%s/%s", pkglib_path, "llvmjit_types.bc");
 
++++++ postgresql-12.7.tar.bz2 -> postgresql-12.8.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/postgresql12/postgresql-12.7.tar.bz2 
/work/SRC/openSUSE:Factory/.postgresql12.new.1899/postgresql-12.8.tar.bz2 
differ: char 11, line 1

++++++ postgresql-12.7.tar.bz2.sha256 -> postgresql-12.8.tar.bz2.sha256 ++++++
--- /work/SRC/openSUSE:Factory/postgresql12/postgresql-12.7.tar.bz2.sha256      
2021-05-18 18:26:53.494845612 +0200
+++ 
/work/SRC/openSUSE:Factory/.postgresql12.new.1899/postgresql-12.8.tar.bz2.sha256
    2021-09-13 16:24:41.982756404 +0200
@@ -1 +1 @@
-8490741f47c88edc8b6624af009ce19fda4dc9b31c4469ce2551d84075d5d995  
postgresql-12.7.tar.bz2
+e26401e090c34ccb15ffb33a111f340833833535a7b7c5cd11cd88ab57d9c62a  
postgresql-12.8.tar.bz2

++++++ postgresql-llvm-optional.patch ++++++
--- src/Makefile.global.in.orig
+++ src/Makefile.global.in
@@ -192,7 +192,12 @@ with_krb_srvnam    = @with_krb_srvnam@
 with_ldap      = @with_ldap@
 with_libxml    = @with_libxml@
 with_libxslt   = @with_libxslt@
-with_llvm      = @with_llvm@
+# Only build for LLVM, if the core supports it and the llvm and clang packages 
are installed.
+ifeq (@with_llvm@ $(wildcard /usr/bin/clang /usr/bin/llvm-lto),yes 
/usr/bin/clang /usr/bin/llvm-lto)
+with_llvm      = yes
+else
+with_llvm      = no
+endif
 with_system_tzdata = @with_system_tzdata@
 with_uuid      = @with_uuid@
 with_zlib      = @with_zlib@

Reply via email to