[Git][haskell-team/DHG_packages][master] ghc: upload to unstable, with upstream risc support patch

Gianfranco Costamagna gitlab at salsa.debian.org
Thu Jul 19 18:32:32 BST 2018


Gianfranco Costamagna pushed to branch master at Debian Haskell Group / DHG_packages


Commits:
88bfe59b by Gianfranco Costamagna at 2018-07-19T19:27:35+02:00
ghc: upload to unstable, with upstream risc support patch

- - - - -


4 changed files:

- p/ghc/debian/changelog
- + p/ghc/debian/patches/e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch
- + p/ghc/debian/patches/risc-support.patch
- p/ghc/debian/patches/series


Changes:

=====================================
p/ghc/debian/changelog
=====================================
--- a/p/ghc/debian/changelog
+++ b/p/ghc/debian/changelog
@@ -1,3 +1,10 @@
+ghc (8.2.2-6) unstable; urgency=medium
+
+  * debian/patches/{risc-support,e175aaf6918bb2b497b83618dc4c270a0d231a1c}.patch
+    - add upstream patches to support risc* platforms (Closes: #904096)
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Thu, 19 Jul 2018 19:24:01 +0200
+
 ghc (8.2.2-5) unstable; urgency=medium
 
   * Apply patch to disable -Bsymbolic on unregisterised


=====================================
p/ghc/debian/patches/e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch
=====================================
--- /dev/null
+++ b/p/ghc/debian/patches/e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch
@@ -0,0 +1,63 @@
+From: Sergei Trofimovich <slyfox at gentoo.org>
+Date: Wed, 18 Jul 2018 22:36:58 +0000 (+0100)
+Subject: fix osReserveHeapMemory block alignment
+X-Git-Url: https://git.haskell.org/ghc.git/commitdiff_plain/e175aaf6918bb2b497b83618dc4c270a0d231a1c
+
+fix osReserveHeapMemory block alignment
+
+Before the change osReserveHeapMemory() attempted
+to allocate chunks of memory via osTryReserveHeapMemory()
+not multiple of MBLOCK_SIZE in the following fallback code:
+
+```
+    if (at == NULL) {
+        *len -= *len / 8;
+```
+
+and caused assertion failure:
+
+```
+$ make fulltest TEST=T11607 WAY=threaded1
+T11607: internal error: ASSERTION FAILED: file rts/posix/OSMem.c, line 457
+    (GHC version 8.7.20180716 for riscv64_unknown_linux)
+
+```
+
+The change applies alignment mask before each MBLOCK allocation attempt
+and fixes WAY=threaded1 test failures on qemu-riscv64.
+
+Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
+
+Test Plan: run 'make fulltest WAY=threaded1'
+
+Reviewers: simonmar, bgamari, erikd
+
+Reviewed By: simonmar
+
+Subscribers: rwbarton, thomie, carter
+
+Differential Revision: https://phabricator.haskell.org/D4982
+---
+
+Index: ghc-8.2.2/rts/posix/OSMem.c
+===================================================================
+--- ghc-8.2.2.orig/rts/posix/OSMem.c
++++ ghc-8.2.2/rts/posix/OSMem.c
+@@ -422,6 +422,8 @@
+     void *base, *top;
+     void *start, *end;
+ 
++    ASSERT((len & ~MBLOCK_MASK) == len);
++
+     /* We try to allocate len + MBLOCK_SIZE,
+        because we need memory which is MBLOCK_SIZE aligned,
+        and then we discard what we don't need */
+@@ -489,6 +491,8 @@
+ 
+     attempt = 0;
+     while (1) {
++        *len &= ~MBLOCK_MASK;
++
+         if (*len < MBLOCK_SIZE) {
+             // Give up if the system won't even give us 16 blocks worth of heap
+             barf("osReserveHeapMemory: Failed to allocate heap storage");


=====================================
p/ghc/debian/patches/risc-support.patch
=====================================
--- /dev/null
+++ b/p/ghc/debian/patches/risc-support.patch
@@ -0,0 +1,29 @@
+Description: cherry-pick of upstream commits
+ beba89a0f16681c85d39fc8a894bde4162ff492a.patch:
+ 5e63a25249f3cb07300258e115af9ff55079d2ea.patch:
+Last-Update: 2018-07-19
+
+--- ghc-8.2.2.orig/aclocal.m4
++++ ghc-8.2.2/aclocal.m4
+@@ -216,7 +216,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
+         mipsel)
+             test -z "[$]2" || eval "[$]2=ArchMipsel"
+             ;;
+-        hppa|hppa1_1|ia64|m68k|rs6000|s390|s390x|sh4|vax)
++        hppa|hppa1_1|ia64|m68k|riscv32|riscv64|rs6000|s390|s390x|sh4|vax)
+             test -z "[$]2" || eval "[$]2=ArchUnknown"
+             ;;
+         *)
+@@ -1898,6 +1898,12 @@ case "$1" in
+   powerpc*)
+     $2="powerpc"
+     ;;
++  riscv64*)
++    $2="riscv64"
++    ;;
++  riscv|riscv32*)
++    $2="riscv32"
++    ;;
+   rs6000)
+     $2="rs6000"
+     ;;


=====================================
p/ghc/debian/patches/series
=====================================
--- a/p/ghc/debian/patches/series
+++ b/p/ghc/debian/patches/series
@@ -11,3 +11,5 @@ build-unlit-and-hp2ps-twice.patch
 fix-hssplicety.patch
 lower-optimization-for-unreg.patch
 bsymbolic-only-for-registerised.patch
+risc-support.patch
+e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch



View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/commit/88bfe59bf0deff0dd91e02c50b6eef6bbab7f5b7

-- 
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/commit/88bfe59bf0deff0dd91e02c50b6eef6bbab7f5b7
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20180719/b56879b8/attachment-0001.html>


More information about the Pkg-haskell-commits mailing list