Hello community, here is the log from the commit of package ghc for openSUSE:Factory checked in at 2019-12-24 14:29:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc (Old) and /work/SRC/openSUSE:Factory/.ghc.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc" Tue Dec 24 14:29:56 2019 rev:76 rq:759112 version:8.6.5 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc/ghc.changes 2019-10-07 14:13:54.806923181 +0200 +++ /work/SRC/openSUSE:Factory/.ghc.new.6675/ghc.changes 2019-12-24 14:30:05.526579492 +0100 @@ -1,0 +2,7 @@ +Mon Sep 23 10:07:24 UTC 2019 - Peter Trommler <[email protected]> + +- add fix-build-using-unregisterized-v8.4.patch + * fixes unregisterised builds when bootstrap compiler is GHC 8.4 + * fixes build on s390x + +------------------------------------------------------------------- New: ---- fix-build-using-unregisterized-v8.4.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc.spec ++++++ --- /var/tmp/diff_new_pack.RBZE9M/_old 2019-12-24 14:30:06.946580179 +0100 +++ /var/tmp/diff_new_pack.RBZE9M/_new 2019-12-24 14:30:06.950580181 +0100 @@ -95,6 +95,8 @@ Patch3: Disable-unboxed-arrays.patch # PATCH-FIX-UPSTREAM allow-riscv-and-riscv64-CPU.patch [email protected] -- aclocal.m4: allow riscv and riscv64 CPU Patch4: allow-riscv-and-riscv64-CPU.patch +# PATCH-FIX-UPSTREAM fix-build-using-unregisterized-v8.4.patch +Patch5: fix-build-using-unregisterized-v8.4.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. @@ -210,6 +212,7 @@ %patch3 -p1 %endif %patch4 -p1 +%patch5 -p1 %patch35 -p1 %patch100 -p1 %patch110 -p1 @@ -275,7 +278,7 @@ make -j 2 %endif %else -make -j 2 +make %endif %install ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.RBZE9M/_old 2019-12-24 14:30:07.042580226 +0100 +++ /var/tmp/diff_new_pack.RBZE9M/_new 2019-12-24 14:30:07.058580233 +0100 @@ -7,13 +7,23 @@ <size unit="G">4</size> </physicalmemory> </hardware> + <overwrite> + <conditions> + <arch>s390x</arch> + </conditions> + <hardware> + <physicalmemory> + <size unit="G">10</size> + </physicalmemory> + </hardware> + </overwrite> <overwrite> <conditions> <arch>riscv64</arch> </conditions> <hardware> <physicalmemory> - <size unit="G">20</size> + <size unit="G">20</size> </physicalmemory> </hardware> </overwrite> ++++++ fix-build-using-unregisterized-v8.4.patch ++++++ Description: Allow unregisterised ghc-8.4 to build newer GHC Commit 4075656e8bb introduced a regression stopping existing unregisteristed compilers from being able to compile newer versions of GHC. The problem is that the bootstrap compiler uses the newer `rts/storage/ClosureTypes.h` file where some defines have been renamed, resulting in the following error: . error: ‘stg_MUT_ARR_PTRS_FROZEN0_info’ undeclared (first use in this function); did you mean ‘stg_MUT_ARR_PTRS_FROZEN_DIRTY_info’? . For more information, see https://gitlab.haskell.org/ghc/ghc/issues/15913. . This patch can be removed, once ghc-8.4 is no longer the bootstrap compiler. Author: Ilias Tsitsimpis <[email protected]> Bug: https://gitlab.haskell.org/ghc/ghc/issues/15913 Bug-Debian: https://bugs.debian.org/932941 Index: b/includes/rts/storage/ClosureTypes.h =================================================================== --- a/includes/rts/storage/ClosureTypes.h +++ b/includes/rts/storage/ClosureTypes.h @@ -82,5 +82,11 @@ #define SMALL_MUT_ARR_PTRS_DIRTY 60 #define SMALL_MUT_ARR_PTRS_FROZEN_DIRTY 61 #define SMALL_MUT_ARR_PTRS_FROZEN_CLEAN 62 +#if __GLASGOW_HASKELL__ < 806 +#define SMALL_MUT_ARR_PTRS_FROZEN0 SMALL_MUT_ARR_PTRS_FROZEN_DIRTY +#define SMALL_MUT_ARR_PTRS_FROZEN SMALL_MUT_ARR_PTRS_FROZEN_CLEAN +#define MUT_ARR_PTRS_FROZEN0 MUT_ARR_PTRS_FROZEN_DIRTY +#define MUT_ARR_PTRS_FROZEN MUT_ARR_PTRS_FROZEN_CLEAN +#endif #define COMPACT_NFDATA 63 #define N_CLOSURE_TYPES 64 Index: b/includes/stg/MiscClosures.h =================================================================== --- a/includes/stg/MiscClosures.h +++ b/includes/stg/MiscClosures.h @@ -116,12 +116,22 @@ RTS_ENTRY(stg_ARR_WORDS); RTS_ENTRY(stg_MUT_ARR_WORDS); RTS_ENTRY(stg_MUT_ARR_PTRS_CLEAN); RTS_ENTRY(stg_MUT_ARR_PTRS_DIRTY); +#if __GLASGOW_HASKELL__ < 806 +RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN); +RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN0); +#else RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN_CLEAN); RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN_DIRTY); +#endif RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_CLEAN); RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_DIRTY); +#if __GLASGOW_HASKELL__ < 806 +RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN); +RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN0); +#else RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN_CLEAN); RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN_DIRTY); +#endif RTS_ENTRY(stg_MUT_VAR_CLEAN); RTS_ENTRY(stg_MUT_VAR_DIRTY); RTS_ENTRY(stg_END_TSO_QUEUE);
