[Pkg-haskell-commits] darcs: ghc: Merge from unstable

Joachim Breitner mail at joachim-breitner.de
Mon Mar 3 08:51:40 UTC 2014


Mon Mar  3 08:51:18 UTC 2014  Joachim Breitner <mail at joachim-breitner.de>
  * Merge from unstable

    M ./changelog -1 +36
    R ./patches/64-bit-big-endian
    M ./patches/series -2 +2

Mon Mar  3 08:51:18 UTC 2014  Joachim Breitner <mail at joachim-breitner.de>
  * Merge from unstable
diff -rN -u old-ghc/changelog new-ghc/changelog
--- old-ghc/changelog	2014-03-03 08:51:40.264499545 +0000
+++ new-ghc/changelog	2014-03-03 08:51:40.268499546 +0000
@@ -1,4 +1,39 @@
-ghc (7.6.3-7) UNRELEASED; urgency=low
+ghc (7.8.20140130-4) UNRELEASED; urgency=medium
+
+  * Do not provide stm or parallel, these are not officially part of the GHC
+    distribution.
+
+ -- Joachim Breitner <nomeata at debian.org>  Tue, 18 Feb 2014 22:19:10 +0000
+
+ghc (7.8.20140130-3) experimental; urgency=medium
+
+  * transformers now comes with ghc, put it in the Provides line 
+
+ -- Joachim Breitner <nomeata at debian.org>  Sun, 09 Feb 2014 20:54:01 +0000
+
+ghc (7.8.20140130-2) experimental; urgency=medium
+
+  * Call ghc and ghc-pkg via the wrappers in /usr/bin in the postinst script
+    (Closes: 738183)
+
+ -- Joachim Breitner <nomeata at debian.org>  Sat, 08 Feb 2014 12:28:59 +0000
+
+ghc (7.8.20140130-1) experimental; urgency=low
+
+  * New upstream release candidate
+  * Drop ghc-dynamic, now contained in ghc
+
+ -- Joachim Breitner <nomeata at debian.org>  Wed, 05 Feb 2014 10:51:51 +0000
+
+ghc (7.6.3-8) unstable; urgency=medium
+
+  * Apply a4b1a435 from upstream, to fix building on 64 big endian platforms
+    such as s390x. Thanks to Aurelien Jarno for pointing out the fix.
+    Closes: #740144
+
+ -- Joachim Breitner <nomeata at debian.org>  Mon, 03 Mar 2014 09:12:47 +0100
+
+ghc (7.6.3-7) unstable; urgency=low
 
   [ Gianfranco Costamagna ]
   * Bumped standard version to 3.9.5, no changes required.
diff -rN -u old-ghc/patches/64-bit-big-endian new-ghc/patches/64-bit-big-endian
--- old-ghc/patches/64-bit-big-endian	2014-03-03 08:51:40.264499545 +0000
+++ new-ghc/patches/64-bit-big-endian	1970-01-01 00:00:00.000000000 +0000
@@ -1,63 +0,0 @@
-commit a4b1a43542b11d09dd3b603d82c5a0e99da67d74
-Author: Austin Seipp <austin at well-typed.com>
-Date:   Fri Nov 1 22:17:01 2013 -0500
-
-    Fix loop on 64bit Big-Endian platforms (#8134)
-    
-    This is a fun one.
-    
-    In the RTS, `cas` expects a pointer to StgWord which will translate to
-    unsigned long (8 bytes under LP64.) But we had previously declared
-    token_locked as *StgBool* - which evaluates to 'int' (4 bytes under
-    LP64.) That means we fail to provide enough storage for the cas
-    primitive, causing it to corrupt memory on a 64bit platform.
-    
-    Hilariously, this somehow did not affect little-endian platforms (ARM,
-    x86, etc) before. That's because to clear our lock token, we would say:
-    
-        token_locked = 0;
-    
-    But because token_locked is 32bits technically, this only writes to
-    half of the 64bit quantity. On a Big-Endian machine, this won't do
-    anything. That is, token_locked starts as 0:
-    
-     / token_locked
-     |
-     v
-     0x00000000
-    
-    and the first cas modifies the memory to:
-    
-     / valid    / corrupted
-     |          |
-     v          v
-     0x00000000 0x00000001
-    
-    We then clear token_locked, but this doesn't change the corrupted 4
-    bytes of memory. And then we try to lock the token again, spinning until
-    it is released - clearly a deadlock.
-    
-    Related: Windows (amd64) doesn't follow LP64, but LLP64, where both
-    int and long are 4 bytes, so this shouldn't change anything on these
-    platforms.
-    
-    Thanks to Reid Barton for helping the diagnosis. Also, thanks to Jens
-    Peterson who confirmed this also fixes building GHC on Fedora/ppc64 and
-    Fedora/s390x.
-    
-    Authored-by: Gustavo Luiz Duarte <gustavold at linux.vnet.ibm.com>
-    Signed-off-by: Austin Seipp <austin at well-typed.com>
-
-Index: ghc-7.6.3/rts/STM.c
-===================================================================
---- ghc-7.6.3.orig/rts/STM.c	2014-03-03 09:11:24.714692842 +0100
-+++ ghc-7.6.3/rts/STM.c	2014-03-03 09:11:24.714692842 +0100
-@@ -927,7 +927,7 @@
- static volatile StgInt64 max_commits = 0;
- 
- #if defined(THREADED_RTS)
--static volatile StgBool token_locked = FALSE;
-+static volatile StgWord token_locked = FALSE;
- 
- static void getTokenBatch(Capability *cap) {
-   while (cas((void *)&token_locked, FALSE, TRUE) == TRUE) { /* nothing */ }
diff -rN -u old-ghc/patches/series new-ghc/patches/series
--- old-ghc/patches/series	2014-03-03 08:51:40.264499545 +0000
+++ new-ghc/patches/series	2014-03-03 08:51:40.280499547 +0000
@@ -1,5 +1,5 @@
 use-debian-gen_contents_index
 ARM-VFPv3D16
 no-missing-haddock-file-warning
-Handle-sign-bit-when-generating-veneer-for-ARM-Thumb.patch
-llvm-3.3-compat
+haddock-hardcode-ghc-paths
+hpc-wrapper




More information about the Pkg-haskell-commits mailing list