Hello community, here is the log from the commit of package ghc for openSUSE:Factory checked in at 2016-05-17 17:15:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc (Old) and /work/SRC/openSUSE:Factory/.ghc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc/ghc.changes 2016-04-30 23:30:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc.new/ghc.changes 2016-05-17 17:15:38.000000000 +0200 @@ -1,0 +2,11 @@ +Sat May 14 09:13:07 UTC 2016 - [email protected] + +- add D2214.patch +* backport of upstream patch slated for ghc 8.0.2 +* fix issue in code PowerPC code generator (32 bit and 64 bit) +- add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch +* backport of upstream fix slated for ghc 8.0.2 +* fix bytestring library on big-endian archs +* fix wrong results in ghc-pureMD5 and others on big-endian + +------------------------------------------------------------------- New: ---- 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch D2214.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc.spec ++++++ --- /var/tmp/diff_new_pack.YtjYiq/_old 2016-05-17 17:15:39.000000000 +0200 +++ /var/tmp/diff_new_pack.YtjYiq/_new 2016-05-17 17:15:39.000000000 +0200 @@ -82,6 +82,11 @@ Patch22: u_Cabal_update.patch # PATCH-FIX-UPSTREAM u_haskeline_update.patch [email protected] -- update haskeline to 0.7.2.3 Patch23: u_haskeline_update.patch +# PATCH-FIX-UPSTREAM 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch [email protected] -- Fix ghc-pureMD5 and other Haskell packages on big-endian architectures. +Patch24: 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch +# PATCH-FIX-UPSTREAM D2214.patch [email protected] -- Fix PowerPC code generator. See Haskell Trac #12054 and https://phabricator.haskell.org/D2214 for details. +Patch25: D2214.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -178,6 +183,8 @@ %patch21 -p2 %patch22 -p2 %patch23 -p2 +%patch24 -p1 +%patch25 -p1 %build # Patch 19 modifies build system ++++++ 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch ++++++ >From 4f52849a99753fab63d634769dd35a31f4d5a1b2 Mon Sep 17 00:00:00 2001 From: Herbert Valerio Riedel <[email protected]> Date: Thu, 12 May 2016 20:36:34 +0200 Subject: [PATCH] Fix misspelled WORDS_BIGENDIAN macro This was causing word{16,32,64}{le,be} primitives to break on big endian archs (such as `powerpc`/`powerpc64`) with serious consequences such as https://github.com/TomMD/pureMD5/issues/5 --- Data/ByteString/Builder/Prim/Binary.hs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) Index: ghc-8.0.1/libraries/bytestring/Data/ByteString/Builder/Prim/Binary.hs =================================================================== --- ghc-8.0.1.orig/libraries/bytestring/Data/ByteString/Builder/Prim/Binary.hs +++ ghc-8.0.1/libraries/bytestring/Data/ByteString/Builder/Prim/Binary.hs @@ -83,7 +83,7 @@ word8 = storableToF -- | Encoding 'Word16's in big endian format. {-# INLINE word16BE #-} word16BE :: FixedPrim Word16 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN word16BE = word16Host #else word16BE = fixedPrim 2 $ \w p -> do @@ -94,7 +94,7 @@ word16BE = fixedPrim 2 $ \w p -> do -- | Encoding 'Word16's in little endian format. {-# INLINE word16LE #-} word16LE :: FixedPrim Word16 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN word16LE = fixedPrim 2 $ \w p -> do poke p (fromIntegral (w) :: Word8) poke (p `plusPtr` 1) (fromIntegral (shiftr_w16 w 8) :: Word8) @@ -105,7 +105,7 @@ word16LE = word16Host -- | Encoding 'Word32's in big endian format. {-# INLINE word32BE #-} word32BE :: FixedPrim Word32 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN word32BE = word32Host #else word32BE = fixedPrim 4 $ \w p -> do @@ -118,7 +118,7 @@ word32BE = fixedPrim 4 $ \w p -> do -- | Encoding 'Word32's in little endian format. {-# INLINE word32LE #-} word32LE :: FixedPrim Word32 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN word32LE = fixedPrim 4 $ \w p -> do poke p (fromIntegral (w) :: Word8) poke (p `plusPtr` 1) (fromIntegral (shiftr_w32 w 8) :: Word8) @@ -134,7 +134,7 @@ word32LE = word32Host -- | Encoding 'Word64's in big endian format. {-# INLINE word64BE #-} word64BE :: FixedPrim Word64 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN word64BE = word64Host #else #if WORD_SIZE_IN_BITS < 64 @@ -170,7 +170,7 @@ word64BE = fixedPrim 8 $ \w p -> do -- | Encoding 'Word64's in little endian format. {-# INLINE word64LE #-} word64LE :: FixedPrim Word64 -#ifdef WORD_BIGENDIAN +#ifdef WORDS_BIGENDIAN #if WORD_SIZE_IN_BITS < 64 word64LE = fixedPrim 8 $ \w p -> do ++++++ D2214.patch ++++++ Index: ghc-7.10.3/compiler/nativeGen/PPC/Ppr.hs =================================================================== --- ghc-7.10.3.orig/compiler/nativeGen/PPC/Ppr.hs +++ ghc-7.10.3/compiler/nativeGen/PPC/Ppr.hs @@ -488,9 +488,10 @@ pprInstr (STU sz reg addr) = hcat [ char '\t', ptext (sLit "st"), pprSize sz, - ptext (sLit "u\t"), + char 'u', case addr of AddrRegImm _ _ -> empty AddrRegReg _ _ -> char 'x', + char '\t', pprReg reg, ptext (sLit ", "), pprAddr addr
