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

Evangelos Foutras foutrelis at gemini.archlinux.org
Sun Oct 24 02:58:10 UTC 2021


    Date: Sunday, October 24, 2021 @ 02:58:10
  Author: foutrelis
Revision: 1033051

upgpkg: ldc 3:1.28.0-3: LLVM 13 rebuild

Added:
  ldc/trunk/keep-default-alignment-for-atomic-instructions.patch
Modified:
  ldc/trunk/PKGBUILD

------------------------------------------------------+
 PKGBUILD                                             |   15 +++++--
 keep-default-alignment-for-atomic-instructions.patch |   32 +++++++++++++++++
 2 files changed, 42 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-10-24 02:49:09 UTC (rev 1033050)
+++ PKGBUILD	2021-10-24 02:58:10 UTC (rev 1033051)
@@ -7,14 +7,14 @@
 pkgver=1.28.0
 _pkgcommit=6a240b66fd5fcaccd85fb50a2717767dd37ef17a
 _dversion=2.098.0
-_clangversion=12.0.1 # related to where ldc2 looks for compiler-rt sanitizers
+_clangversion=13.0.0 # related to where ldc2 looks for compiler-rt sanitizers
 epoch=3
-pkgrel=2
+pkgrel=3
 pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
 arch=('x86_64')
 url="https://github.com/ldc-developers/ldc"
 license=('BSD')
-makedepends=('git' 'cmake' 'llvm12' 'ldc' 'ninja')
+makedepends=('git' 'cmake' 'llvm' 'ldc' 'ninja')
 
 source=(
     "git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit"
@@ -21,12 +21,14 @@
     "ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
     "ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
     "ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
+    "keep-default-alignment-for-atomic-instructions.patch"
 )
 
 sha256sums=('SKIP'
             'SKIP'
             'SKIP'
-            'SKIP')
+            'SKIP'
+            '7d33b18c517e7155a44efad984f8226d6bdaa7afae121e3e905727eb73299bbf')
 
 prepare() {
     cd "$srcdir/ldc"
@@ -37,6 +39,9 @@
     git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
     git submodule update
 
+    # https://github.com/ldc-developers/ldc/pull/3842
+    patch -Np1 -i ../keep-default-alignment-for-atomic-instructions.patch
+
     # Set version used for path construction in getFullClangCompilerRTLibPath()
     sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
 }
@@ -66,7 +71,7 @@
 }
 
 package_ldc() {
-    depends=('liblphobos' 'llvm12-libs' 'gcc' 'compiler-rt')
+    depends=('liblphobos' 'llvm-libs' 'gcc' 'compiler-rt')
     backup=('etc/ldc2.conf')
     provides=("d-compiler=$_dversion")
 

Added: keep-default-alignment-for-atomic-instructions.patch
===================================================================
--- keep-default-alignment-for-atomic-instructions.patch	                        (rev 0)
+++ keep-default-alignment-for-atomic-instructions.patch	2021-10-24 02:58:10 UTC (rev 1033051)
@@ -0,0 +1,32 @@
+From 7e80c26eded0326e18aad2c9f906844eb0f46dc0 Mon Sep 17 00:00:00 2001
+From: Martin Kinkelin <noone at nowhere.com>
+Date: Wed, 6 Oct 2021 18:47:28 +0200
+Subject: [PATCH] Keep default alignment for atomic instructions, for LLVM 13+
+ too
+
+---
+ gen/tocall.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gen/tocall.cpp b/gen/tocall.cpp
+index 385133015b..28967a64c3 100644
+--- a/gen/tocall.cpp
++++ b/gen/tocall.cpp
+@@ -511,7 +511,7 @@ bool DtoLowerMagicIntrinsic(IRState *p, FuncDeclaration *fndecl, CallExp *e,
+     auto ret =
+       p->ir->CreateAtomicCmpXchg(ptr, cmp, val,
+ #if LDC_LLVM_VER >= 1300
+-                                 LLMaybeAlign(getABITypeAlign(val->getType())),
++                                 llvm::MaybeAlign(), // default alignment
+ #endif
+                                  successOrdering, failureOrdering);
+     ret->setWeak(isWeak);
+@@ -559,7 +559,7 @@ bool DtoLowerMagicIntrinsic(IRState *p, FuncDeclaration *fndecl, CallExp *e,
+     LLValue *ret =
+         p->ir->CreateAtomicRMW(llvm::AtomicRMWInst::BinOp(op), ptr, val,
+ #if LDC_LLVM_VER >= 1300
+-                               LLMaybeAlign(getABITypeAlign(val->getType())),
++                               llvm::MaybeAlign(), // default alignment
+ #endif
+                                llvm::AtomicOrdering(atomicOrdering));
+     result = new DImValue(exp2->type, ret);



More information about the arch-commits mailing list