Hello community,

here is the log from the commit of package ghc for openSUSE:Factory checked in 
at 2018-10-02 19:47:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc (Old)
 and      /work/SRC/openSUSE:Factory/.ghc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc"

Tue Oct  2 19:47:12 2018 rev:65 rq:639256 version:8.4.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc/ghc.changes  2018-09-11 17:20:00.947160261 
+0200
+++ /work/SRC/openSUSE:Factory/.ghc.new/ghc.changes     2018-10-02 
19:48:25.985768040 +0200
@@ -1,0 +2,6 @@
+Sun Sep 30 11:21:59 UTC 2018 - ptromm...@icloud.com
+
+- Add fix-build-using-unregisterized-v8.2.patch
+  * Fix build on s390x 
+
+-------------------------------------------------------------------

New:
----
  fix-build-using-unregisterized-v8.2.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc.spec ++++++
--- /var/tmp/diff_new_pack.V1dPuX/_old  2018-10-02 19:48:26.765767231 +0200
+++ /var/tmp/diff_new_pack.V1dPuX/_new  2018-10-02 19:48:26.769767227 +0200
@@ -84,6 +84,8 @@
 Patch0:         add_armv6l_and_armv7l_target.patch
 # PATCH-FIX-UPSTREAM fix-ppc64le-recognition.patch ptromm...@icloud.com -- 
Recognize powerpc64le as PPC64 in cabal files.
 Patch1:         fix-ppc64le-recognition.patch
+# PATCH-FIX-OPENSUSE fix-build-using-unregisterized-v8.2.patch 
ptromm...@icloud.com -- Fix bootstrap with GHC older than 8.4. Can be dropped 
once we bootstrap with 8.4.3. Debian patch.
+Patch2:         fix-build-using-unregisterized-v8.2.patch
 # PATCH-FIX-UPSTREAM ghc-pie.patch - set linux as default PIE platform
 Patch35:        ghc-pie.patch
 # PATCH-FIX-OPENSUSE ghc-8.0.2-Cabal-dynlibdir.patch -- Fix shared library 
directory location.
@@ -195,6 +197,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 %patch35 -p1
 %patch100 -p1
 %patch110 -p1

++++++ fix-build-using-unregisterized-v8.2.patch ++++++
Description: Allow unregisterised ghc-8.2 to build newer GHC
 Commit b68697e579d38ca29c2b84377dc2affa04659a28 introduced a regression
 stopping existing unregisteristed compilers from being used to compile a newer
 version of GHC. The problem is that the bootstrap compiler uses the newer Stg.h
 where EB_, IB_, etc, definitions have changed resulting in the following error:
.
  error: conflicting types for 'ghc_GhcPrelude_zdtrModule4_bytes'
  note: in definition of macro 'EB_'
  #define EB_(X)    extern const char X[]
  note: previous definition of 'ghc_GhcPrelude_zdtrModule4_bytes' was here
  char ghc_GhcPrelude_zdtrModule4_bytes[] = "ghc";
.
 For more information about the problem, see 
https://phabricator.haskell.org/D4114.
.
 This patch is a rework of https://phabricator.haskell.org/D3741.
 It modifies Stg.h to include the old definitions, if a compiler older than
 8.4 is being used.
.
 This patch can be removed, once ghc-8.2 is no longer the bootstrap compiler.
Author: Ilias Tsitsimpis <ilias...@debian.org>
Bug: https://ghc.haskell.org/trac/ghc/ticket/15201

Index: b/includes/Stg.h
===================================================================
--- a/includes/Stg.h
+++ b/includes/Stg.h
@@ -232,6 +232,16 @@ typedef StgInt    I_;
 typedef StgWord StgWordArray[];
 typedef StgFunPtr       F_;
 
+#if __GLASGOW_HASKELL__ < 804
+#define EB_(X)    extern char X[]
+#define IB_(X)    static char X[]
+#define EI_(X)          extern StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
+#define II_(X)          static StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
+#define IF_(f)    static StgFunPtr GNUC3_ATTRIBUTE(used) f(void)
+#define FN_(f)    StgFunPtr f(void)
+#define EF_(f)    StgFunPtr f(void) /* External Cmm functions */
+#define EFF_(f)   void f() /* See Note [External function prototypes] */
+#else
 /* byte arrays (and strings): */
 #define EB_(X)    extern const char X[]
 #define IB_(X)    static const char X[]
@@ -250,6 +260,7 @@ typedef StgFunPtr       F_;
 #define EF_(f)           StgFunPtr f(void) /* External Cmm functions */
 /* foreign functions: */
 #define EFF_(f)   void f() /* See Note [External function prototypes] */
+#endif  /* __GLASGOW_HASKELL__ < 804 */
 
 /* Note [External function prototypes]  See Trac #8965, #11395
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to