[arch-commits] Commit in llvm/trunk (2 files)

Evangelos Foutras foutrelis at archlinux.org
Fri Jul 9 05:59:40 UTC 2021


    Date: Friday, July 9, 2021 @ 05:59:39
  Author: foutrelis
Revision: 419321

upgpkg: llvm 12.0.1-1: new upstream release

Modified:
  llvm/trunk/PKGBUILD
Deleted:
  llvm/trunk/force-visibility-of-llvm-Any-to-external.patch

------------------------------------------------+
 PKGBUILD                                       |   11 +-----
 force-visibility-of-llvm-Any-to-external.patch |   42 -----------------------
 2 files changed, 3 insertions(+), 50 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-07-09 05:22:06 UTC (rev 419320)
+++ PKGBUILD	2021-07-09 05:59:39 UTC (rev 419321)
@@ -2,8 +2,8 @@
 # Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
 
 pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
-pkgver=12.0.0
-pkgrel=2
+pkgver=12.0.1
+pkgrel=1
 _ocaml_ver=4.11.1
 arch=('x86_64')
 url="https://llvm.org/"
@@ -15,14 +15,12 @@
 options=('staticlibs')
 _source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
 source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
-        force-visibility-of-llvm-Any-to-external.patch
         llvm-link-with-Bsymbolic-functions.patch
         add-fno-semantic-interposition.patch
         no-strict-aliasing-DwarfCompileUnit.patch
         llvm-config.h)
-sha256sums=('49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50'
+sha256sums=('7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf'
             'SKIP'
-            '98721af5a36af2a8e88c14a81b16d3929b12515d7d2d1ba385eb243dca3c32cb'
             '560ce1e206c19f4b86f4c583b743db0ad47a610418999350710aafd60ae50fcd'
             'fc8c64267a5d179e9fc24fb2bc6150edef2598c83f5b2d138d14e05ce9f4e345'
             'd1eff24508e35aae6c26a943dbaa3ef5acb60a145b008fd1ef9ac6f6c4faa662'
@@ -34,9 +32,6 @@
   cd "$srcdir/llvm-$pkgver.src"
   mkdir build
 
-  # https://bugs.llvm.org/show_bug.cgi?id=48992
-  patch -Np2 -i ../force-visibility-of-llvm-Any-to-external.patch
-
   # https://bugs.archlinux.org/task/70697
   patch -Np2 -i ../llvm-link-with-Bsymbolic-functions.patch
   # https://reviews.llvm.org/D102453

Deleted: force-visibility-of-llvm-Any-to-external.patch
===================================================================
--- force-visibility-of-llvm-Any-to-external.patch	2021-07-09 05:22:06 UTC (rev 419320)
+++ force-visibility-of-llvm-Any-to-external.patch	2021-07-09 05:59:39 UTC (rev 419321)
@@ -1,42 +0,0 @@
-From 3d3abc22b3ef189813a3b9061c2a90ba86a32f44 Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <sguelton at redhat.com>
-Date: Tue, 11 May 2021 20:46:58 +0200
-Subject: [PATCH] Force visibility of llvm::Any to external
-
-llvm::Any::TypeId::Id relies on the uniqueness of the address of a static
-variable defined in a template function. hidden visibility implies vague linkage
-for that variable, which does not guarantee the uniqueness of the address across
-a binary and a shared library. This totally breaks the implementation of
-llvm::Any.
-
-Ideally, setting visibility to llvm::Any::TypeId::Id should be enough,
-unfortunately this doesn't work as expected and we lack time (before 12.0.1
-release) to understand why setting the visibility to llvm::Any does work.
-
-See https://gcc.gnu.org/wiki/Visibility and
-https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html
-for more information on that topic.
-
-Differential Revision: https://reviews.llvm.org/D101972
----
- llvm/include/llvm/ADT/Any.h | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/llvm/include/llvm/ADT/Any.h b/llvm/include/llvm/ADT/Any.h
-index 15b114f7932d..e513586845a1 100644
---- a/llvm/include/llvm/ADT/Any.h
-+++ b/llvm/include/llvm/ADT/Any.h
-@@ -23,7 +23,12 @@
- 
- namespace llvm {
- 
--class Any {
-+class LLVM_EXTERNAL_VISIBILITY Any {
-+
-+  // The `Typeid<T>::Id` static data member below is a globally unique
-+  // identifier for the type `T`. It is explicitly marked with default
-+  // visibility so that when `-fvisibility=hidden` is used, the loader still
-+  // merges duplicate definitions across DSO boundaries.
-   template <typename T> struct TypeId { static const char Id; };
- 
-   struct StorageBase {




More information about the arch-commits mailing list