Hello community,

here is the log from the commit of package llvm9 for openSUSE:Factory checked 
in at 2020-02-15 22:21:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm9 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm9.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm9"

Sat Feb 15 22:21:35 2020 rev:11 rq:770860 version:9.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm9/llvm9.changes      2020-02-03 
11:27:04.402138382 +0100
+++ /work/SRC/openSUSE:Factory/.llvm9.new.26092/llvm9.changes   2020-02-15 
22:21:37.955186849 +0100
@@ -1,0 +2,25 @@
+Fri Feb  7 10:29:11 UTC 2020 - Richard Biener <rguent...@suse.com>
+
+- Add vim-plugin-llvm Conflicts to clang subpackage which now
+  contains files formerly in llvmN-vim-plugins, conflicting with
+  packages from older llvm releases.
+
+-------------------------------------------------------------------
+Thu Feb  6 10:58:59 UTC 2020 - Richard Biener <rguent...@suse.com>
+
+- Add back emacs-llvm Provides and Conflicts to clang subpackage
+  originally in llvm-emacs-plugins to properly conflict with
+  llvm-emacs-plugins from older llvm releases.
+
+-------------------------------------------------------------------
+Tue Feb  4 08:41:49 UTC 2020 - Richard Biener <rguent...@suse.com>
+
+- Add clang5-devel to clang9-doc conflicts.
+
+-------------------------------------------------------------------
+Mon Feb  3 08:53:12 UTC 2020 - Andreas Schwab <sch...@suse.de>
+
+- Add compiler-rt-sanitizer-ipc-perm.patch: Fix sanitizer-common
+  build with glibc 2.31.
+
+-------------------------------------------------------------------

New:
----
  compiler-rt-sanitizer-ipc-perm.patch

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

Other differences:
------------------
++++++ llvm9.spec ++++++
--- /var/tmp/diff_new_pack.DJQdaV/_old  2020-02-15 22:21:40.695188330 +0100
+++ /var/tmp/diff_new_pack.DJQdaV/_new  2020-02-15 22:21:40.703188334 +0100
@@ -133,6 +133,8 @@
 Patch35:        polly-pthread.patch
 # PATCH-FEATURE_UPSTREAM compiler-rt-move-fdp.patch -- Move FuzzedDataProvider 
to include
 Patch36:        compiler-rt-move-fdp.patch
+# PATCH-FIX-UPSTREAM compiler-rt-sanitizer-ipc-perm.patch -- Fix 
sanitizer-common build with glibc 2.31
+Patch37:        compiler-rt-sanitizer-ipc-perm.patch
 BuildRequires:  binutils-devel >= 2.21.90
 BuildRequires:  cmake
 BuildRequires:  fdupes
@@ -236,6 +238,9 @@
 Recommends:     libstdc++-devel
 Suggests:       libc++-devel
 Provides:       llvm%{_sonum}-emacs-plugins
+Conflicts:      emacs-llvm < %{version}
+Provides:       emacs-llvm = %{version}
+Conflicts:      vim-plugin-llvm < %{version}
 %if %{with libcxx}
 Requires:       libc++%{_socxx}
 %endif
@@ -262,8 +267,8 @@
 
 %package -n clang%{_sonum}-include-fixer
 Summary:        Automatically add missing includes
-Group:          Development/Languages/C and C++
 # Avoid multiple provider errors
+Group:          Development/Languages/C and C++
 Requires:       libclang%{_sonum} = %{version}
 Conflicts:      clang-include-fixer < %{version}
 Conflicts:      find-all-symbols < %{version}
@@ -284,8 +289,8 @@
 
 %package -n libclang%{_sonum}
 Summary:        Library files needed for clang
-Group:          System/Libraries
 # Avoid multiple provider errors
+Group:          System/Libraries
 Requires:       libLLVM%{_sonum}
 
 %description -n libclang%{_sonum}
@@ -307,6 +312,7 @@
 Group:          Documentation/HTML
 Conflicts:      clang-doc-provider < %{version}
 # The docs used to be contained in the devel package.
+Conflicts:      clang5-devel
 Conflicts:      clang6-devel
 Conflicts:      clang7-devel
 Conflicts:      clang8-devel
@@ -318,8 +324,8 @@
 
 %package -n libLTO%{_sonum}
 Summary:        Link-time optimizer for LLVM
-Group:          System/Libraries
 # Avoid multiple provider errors
+Group:          System/Libraries
 Requires:       libLLVM%{_sonum}
 
 %description -n libLTO%{_sonum}
@@ -327,8 +333,8 @@
 
 %package LTO-devel
 Summary:        Link-time optimizer for LLVM (devel package)
-Group:          Development/Libraries/C and C++
 # Avoid multiple provider errors
+Group:          Development/Libraries/C and C++
 Requires:       %{name}-devel = %{version}
 Requires:       libLTO%{_sonum}
 Conflicts:      libLTO.so < %{version}
@@ -340,8 +346,8 @@
 
 %package gold
 Summary:        Gold linker plugin for LLVM
-Group:          Development/Tools/Building
 # Avoid multiple provider errors
+Group:          Development/Tools/Building
 Requires:       libLLVM%{_sonum}
 Conflicts:      llvm-gold-provider < %{version}
 Provides:       llvm-gold-provider = %{version}
@@ -351,8 +357,8 @@
 
 %package -n libomp%{_sonum}-devel
 Summary:        MPI plugin for LLVM
-Group:          Development/Libraries/C and C++
 # Avoid multiple provider errors
+Group:          Development/Libraries/C and C++
 Requires:       libLLVM%{_sonum}
 Conflicts:      libomp-devel < %{version}
 Provides:       libomp-devel = %{version}
@@ -373,8 +379,8 @@
 
 %package -n libc++-devel
 Summary:        C++ standard library implementation (devel package)
-Group:          Development/Libraries/C and C++
 # Avoid multiple provider errors
+Group:          Development/Libraries/C and C++
 Requires:       libc++%{_socxx} = %{version}
 Requires:       libc++abi-devel = %{version}
 Conflicts:      libc++.so < %{version}
@@ -482,8 +488,8 @@
 
 %package -n liblldb%{_sonum}
 Summary:        LLDB software debugger runtime library
-Group:          System/Libraries
 # Avoid multiple provider errors
+Group:          System/Libraries
 Requires:       libLLVM%{_sonum}
 Requires:       libclang%{_sonum}
 
@@ -492,8 +498,8 @@
 
 %package -n lldb%{_sonum}-devel
 Summary:        Development files for LLDB
-Group:          Development/Libraries/C and C++
 # Avoid multiple provider errors
+Group:          Development/Libraries/C and C++
 Requires:       clang%{_sonum}-devel = %{version}
 Requires:       liblldb%{_sonum} = %{version}
 Requires:       llvm%{_sonum}-devel = %{version}
@@ -570,6 +576,7 @@
 pushd compiler-rt-%{version}.src
 %patch28 -p2
 %patch36 -p2
+%patch37 -p1
 popd
 
 pushd clang-%{version}.src

++++++ compiler-rt-sanitizer-ipc-perm.patch ++++++
>From 9c155985f17fd369bbba311b714fb6c01c17d66e Mon Sep 17 00:00:00 2001
From: Sjoerd Meijer <sjoerd.mei...@arm.com>
Date: Fri, 18 Oct 2019 11:01:45 +0000
Subject: [PATCH] [Arm][libsanitizer] Fix arm libsanitizer failure with
 bleeding edge glibc

Glibc has recently introduced changed to the mode field in ipc_perm in commit
2f959dfe849e0646e27403f2e4091536496ac0f0. For Arm this means that the mode
field no longer has the same size.

This causes an assert failure against libsanitizer's internal copy of ipc_perm.
Since this change can't be easily detected I am adding arm to the list of
targets that are excluded from this check.

Patch by: Tamar Christina

Differential Revision: https://reviews.llvm.org/D69104

llvm-svn: 375220

>From 947f9692440836dcb8d88b74b69dd379d85974ce Mon Sep 17 00:00:00 2001
From: Evgenii Stepanov <euge...@google.com>
Date: Mon, 25 Nov 2019 13:52:17 -0800
Subject: [PATCH] Fix sanitizer-common build with glibc 2.31

Summary:
As mentioned in D69104, glibc changed ABI recently with the [[ 
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2f959dfe849e0646e27403f2e4091536496ac0f0|
 2f959dfe ]] change.
D69104 dealt with just 32-bit ARM, but that is just one of the many affected 
architectures.
E.g. x86_64, i?86, riscv64, sparc 32-bit, s390 31-bit are affected too (and 
various others).

This patch instead of adding a long list of further architectures that wouldn't 
be checked ever next to arm 32-bit changes the structures to match the 2.31 
layout and performs the checking on Linux for ipc_perm mode position/size only 
on non-Linux or on Linux with glibc 2.31 or later.  I think this matches what 
is done for aarch64 already.
If needed, we could list architectures that haven't changed ABI (e.g. powerpc), 
so that they would be checked even with older glibcs.  AFAIK sanitizers don't 
actually use ipc_perm.mode and
so all they care about is the size and alignment of the whole structure.

Note, s390 31-bit and arm 32-bit big-endian changed ABI even further, there 
will now be shmctl with old symbol version and shmctl@@GLIBC_2.31 which will be 
incompatible.  I'm afraid this isn't really solvable unless the sanitizer 
libraries are symbol versioned and use matching symbol versions to glibc 
symbols for stuff they intercept, plus use dlvsym.
This patch doesn't try to address that.

Patch by Jakub Jelinek.

Reviewers: kcc, eugenis, dvyukov

Reviewed By: eugenis

Subscribers: jyknight, kristof.beyls, fedor.sergeev, simoncook, PkmX, 
s.egerton, steven.zhang, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D70662

Index: 
compiler-rt-9.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
===================================================================
--- 
compiler-rt-9.0.1.src.orig/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ 
compiler-rt-9.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1126,8 +1126,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
 CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
 CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
 CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+   on many architectures.  */
 CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
 #endif
 
Index: 
compiler-rt-9.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h
===================================================================
--- 
compiler-rt-9.0.1.src.orig/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ compiler-rt-9.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -203,26 +203,13 @@ namespace __sanitizer {
     u64 __unused1;
     u64 __unused2;
 #elif defined(__sparc__)
-#if defined(__arch64__)
     unsigned mode;
-    unsigned short __pad1;
-#else
-    unsigned short __pad1;
-    unsigned short mode;
     unsigned short __pad2;
-#endif
     unsigned short __seq;
     unsigned long long __unused1;
     unsigned long long __unused2;
-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
-    unsigned int mode;
-    unsigned short __seq;
-    unsigned short __pad1;
-    unsigned long __unused1;
-    unsigned long __unused2;
 #else
-    unsigned short mode;
-    unsigned short __pad1;
+    unsigned int mode;
     unsigned short __seq;
     unsigned short __pad2;
 #if defined(__x86_64__) && !defined(_LP64)

Reply via email to