Accepting request 310528 from devel:languages:haskell

Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/310528
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc?expand=0&rev=29
This commit is contained in:
Dominique Leuenberger 2015-06-06 07:54:26 +00:00 committed by Git OBS Bridge
commit 7ea6b2e7bb
5 changed files with 1147 additions and 523 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
Index: ghc-7.8.3/compiler/ghci/Linker.lhs
Index: ghc-7.8.4/compiler/ghci/Linker.lhs
===================================================================
--- ghc-7.8.3.orig/compiler/ghci/Linker.lhs
+++ ghc-7.8.3/compiler/ghci/Linker.lhs
--- ghc-7.8.4.orig/compiler/ghci/Linker.lhs
+++ ghc-7.8.4/compiler/ghci/Linker.lhs
@@ -123,7 +123,10 @@ data PersistentLinkerState
-- The currently-loaded packages; always object code
-- Held, as usual, in dependency order; though I am not sure if
@ -172,11 +172,11 @@ Index: ghc-7.8.3/compiler/ghci/Linker.lhs
Just err -> panic ("Loading temp shared object failed: " ++ err)
rmDupLinkables :: [Linkable] -- Already loaded
Index: ghc-7.8.3/compiler/main/SysTools.lhs
Index: ghc-7.8.4/compiler/main/SysTools.lhs
===================================================================
--- ghc-7.8.3.orig/compiler/main/SysTools.lhs
+++ ghc-7.8.3/compiler/main/SysTools.lhs
@@ -1365,6 +1365,7 @@ linkDynLib dflags0 o_files dep_packages
--- ghc-7.8.4.orig/compiler/main/SysTools.lhs
+++ ghc-7.8.4/compiler/main/SysTools.lhs
@@ -1416,6 +1416,7 @@ linkDynLib dflags0 o_files dep_packages
in package_hs_libs ++ extra_libs ++ other_flags
-- probably _stub.o files
@ -184,7 +184,7 @@ Index: ghc-7.8.3/compiler/main/SysTools.lhs
let extra_ld_inputs = ldInputs dflags
case os of
@@ -1482,8 +1483,8 @@ linkDynLib dflags0 o_files dep_packages
@@ -1533,8 +1534,8 @@ linkDynLib dflags0 o_files dep_packages
-- Set the library soname. We use -h rather than -soname as
-- Solaris 10 doesn't support the latter:
++ [ Option ("-Wl,-h," ++ takeFileName output_fn) ]
@ -194,11 +194,11 @@ Index: ghc-7.8.3/compiler/main/SysTools.lhs
++ map Option pkg_lib_path_opts
++ map Option pkg_link_opts
)
Index: ghc-7.8.3/rts/Linker.c
Index: ghc-7.8.4/rts/Linker.c
===================================================================
--- ghc-7.8.3.orig/rts/Linker.c
+++ ghc-7.8.3/rts/Linker.c
@@ -1776,7 +1776,7 @@ internal_dlopen(const char *dll_name)
--- ghc-7.8.4.orig/rts/Linker.c
+++ ghc-7.8.4/rts/Linker.c
@@ -1777,7 +1777,7 @@ internal_dlopen(const char *dll_name)
// (see POSIX also)
ACQUIRE_LOCK(&dl_mutex);
@ -207,7 +207,7 @@ Index: ghc-7.8.3/rts/Linker.c
errmsg = NULL;
if (hdl == NULL) {
@@ -1786,11 +1786,12 @@ internal_dlopen(const char *dll_name)
@@ -1787,11 +1787,12 @@ internal_dlopen(const char *dll_name)
errmsg_copy = stgMallocBytes(strlen(errmsg)+1, "addDLL");
strcpy(errmsg_copy, errmsg);
errmsg = errmsg_copy;
@ -224,7 +224,7 @@ Index: ghc-7.8.3/rts/Linker.c
RELEASE_LOCK(&dl_mutex);
//--------------- End critical section -------------------
@@ -1798,14 +1799,39 @@ internal_dlopen(const char *dll_name)
@@ -1799,14 +1800,39 @@ internal_dlopen(const char *dll_name)
return errmsg;
}
@ -265,7 +265,7 @@ Index: ghc-7.8.3/rts/Linker.c
for (o_so = openedSOs; o_so != NULL; o_so = o_so->next) {
v = dlsym(o_so->handle, symbol);
if (dlerror() == NULL) {
@@ -1813,7 +1839,6 @@ internal_dlsym(void *hdl, const char *sy
@@ -1814,7 +1840,6 @@ internal_dlsym(void *hdl, const char *sy
return v;
}
}
@ -273,7 +273,7 @@ Index: ghc-7.8.3/rts/Linker.c
RELEASE_LOCK(&dl_mutex);
return v;
}
@@ -1981,7 +2006,7 @@ lookupSymbol( char *lbl )
@@ -1982,7 +2007,7 @@ lookupSymbol( char *lbl )
if (!ghciLookupSymbolTable(symhash, lbl, &val)) {
IF_DEBUG(linker, debugBelch("lookupSymbol: symbol not found\n"));
# if defined(OBJFORMAT_ELF)
@ -282,7 +282,7 @@ Index: ghc-7.8.3/rts/Linker.c
# elif defined(OBJFORMAT_MACHO)
# if HAVE_DLFCN_H
/* On OS X 10.3 and later, we use dlsym instead of the old legacy
@@ -1995,7 +2020,7 @@ lookupSymbol( char *lbl )
@@ -1996,7 +2021,7 @@ lookupSymbol( char *lbl )
*/
IF_DEBUG(linker, debugBelch("lookupSymbol: looking up %s with dlsym\n", lbl));
ASSERT(lbl[0] == '_');

View File

@ -7,11 +7,11 @@ Bug: https://ghc.haskell.org/trac/ghc/ticket/7942
Signed-off-by: Austin Seipp <austin@well-typed.com>
Index: ghc-7.8.3/aclocal.m4
================================================================================
--- ghc-7.8.4/aclocal.m4
Index: ghc-7.8.4/aclocal.m4
===================================================================
--- ghc-7.8.4.orig/aclocal.m4
+++ ghc-7.8.4/aclocal.m4
@@ -197,6 +197,9 @@
@@ -200,6 +200,9 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
GET_ARM_ISA()
test -z "[$]2" || eval "[$]2=\"ArchARM {armISA = \$ARM_ISA, armISAExt = \$ARM_ISA_EXT, armABI = \$ARM_ABI}\""
;;
@ -21,7 +21,7 @@ Index: ghc-7.8.3/aclocal.m4
alpha)
test -z "[$]2" || eval "[$]2=ArchAlpha"
;;
@@ -1862,6 +1865,9 @@
@@ -1865,6 +1868,9 @@ AC_MSG_CHECKING(for path to top of build
# converts cpu from gnu to ghc naming, and assigns the result to $target_var
AC_DEFUN([GHC_CONVERT_CPU],[
case "$1" in
@ -31,115 +31,127 @@ Index: ghc-7.8.3/aclocal.m4
alpha*)
$2="alpha"
;;
--- ghc-7.8.4/compiler/nativeGen/AsmCodeGen.lhs
Index: ghc-7.8.4/compiler/nativeGen/AsmCodeGen.lhs
===================================================================
--- ghc-7.8.4.orig/compiler/nativeGen/AsmCodeGen.lhs
+++ ghc-7.8.4/compiler/nativeGen/AsmCodeGen.lhs
@@ -166,6 +166,7 @@
@@ -166,6 +166,7 @@ nativeCodeGen dflags this_mod h us cmms
ArchPPC -> nCG' (ppcNcgImpl dflags)
ArchSPARC -> nCG' (sparcNcgImpl dflags)
ArchARM {} -> panic "nativeCodeGen: No NCG for ARM"
+ ArchARM64 -> panic "nativeCodeGen: No NCG for ARM64"
ArchPPC_64 -> nCG' (ppcNcgImpl dflags)
ArchPPC_64 _ -> nCG' (ppcNcgImpl dflags)
ArchAlpha -> panic "nativeCodeGen: No NCG for Alpha"
ArchMipseb -> panic "nativeCodeGen: No NCG for mipseb"
--- ghc-7.8.4/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
Index: ghc-7.8.4/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
===================================================================
--- ghc-7.8.4.orig/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
+++ ghc-7.8.4/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
@@ -113,6 +113,7 @@
@@ -113,6 +113,7 @@ trivColorable platform virtualRegSqueeze
ArchSPARC -> 14
ArchPPC_64 -> panic "trivColorable ArchPPC_64"
ArchPPC_64 _ -> panic "trivColorable ArchPPC_64"
ArchARM _ _ _ -> panic "trivColorable ArchARM"
+ ArchARM64 -> panic "trivColorable ArchARM64"
ArchAlpha -> panic "trivColorable ArchAlpha"
ArchMipseb -> panic "trivColorable ArchMipseb"
ArchMipsel -> panic "trivColorable ArchMipsel"
@@ -137,6 +138,7 @@
@@ -137,6 +138,7 @@ trivColorable platform virtualRegSqueeze
ArchSPARC -> 22
ArchPPC_64 -> panic "trivColorable ArchPPC_64"
ArchPPC_64 _ -> panic "trivColorable ArchPPC_64"
ArchARM _ _ _ -> panic "trivColorable ArchARM"
+ ArchARM64 -> panic "trivColorable ArchARM64"
ArchAlpha -> panic "trivColorable ArchAlpha"
ArchMipseb -> panic "trivColorable ArchMipseb"
ArchMipsel -> panic "trivColorable ArchMipsel"
@@ -161,6 +163,7 @@
@@ -161,6 +163,7 @@ trivColorable platform virtualRegSqueeze
ArchSPARC -> 11
ArchPPC_64 -> panic "trivColorable ArchPPC_64"
ArchPPC_64 _ -> panic "trivColorable ArchPPC_64"
ArchARM _ _ _ -> panic "trivColorable ArchARM"
+ ArchARM64 -> panic "trivColorable ArchARM64"
ArchAlpha -> panic "trivColorable ArchAlpha"
ArchMipseb -> panic "trivColorable ArchMipseb"
ArchMipsel -> panic "trivColorable ArchMipsel"
@@ -185,6 +188,7 @@
@@ -185,6 +188,7 @@ trivColorable platform virtualRegSqueeze
ArchSPARC -> 0
ArchPPC_64 -> panic "trivColorable ArchPPC_64"
ArchPPC_64 _ -> panic "trivColorable ArchPPC_64"
ArchARM _ _ _ -> panic "trivColorable ArchARM"
+ ArchARM64 -> panic "trivColorable ArchARM64"
ArchAlpha -> panic "trivColorable ArchAlpha"
ArchMipseb -> panic "trivColorable ArchMipseb"
ArchMipsel -> panic "trivColorable ArchMipsel"
--- ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
Index: ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
===================================================================
--- ghc-7.8.4.orig/compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
+++ ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
@@ -74,6 +74,7 @@
@@ -74,6 +74,7 @@ maxSpillSlots dflags
ArchPPC -> PPC.Instr.maxSpillSlots dflags
ArchSPARC -> SPARC.Instr.maxSpillSlots dflags
ArchARM _ _ _ -> panic "maxSpillSlots ArchARM"
+ ArchARM64 -> panic "maxSpillSlots ArchARM64"
ArchPPC_64 -> PPC.Instr.maxSpillSlots dflags
ArchPPC_64 _ -> PPC.Instr.maxSpillSlots dflags
ArchAlpha -> panic "maxSpillSlots ArchAlpha"
ArchMipseb -> panic "maxSpillSlots ArchMipseb"
--- ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/Main.hs
Index: ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/Main.hs
===================================================================
--- ghc-7.8.4.orig/compiler/nativeGen/RegAlloc/Linear/Main.hs
+++ ghc-7.8.4/compiler/nativeGen/RegAlloc/Linear/Main.hs
@@ -207,6 +207,7 @@
@@ -207,6 +207,7 @@ linearRegAlloc dflags entry_ids block_li
ArchSPARC -> linearRegAlloc' dflags (frInitFreeRegs platform :: SPARC.FreeRegs) entry_ids block_live sccs
ArchPPC -> linearRegAlloc' dflags (frInitFreeRegs platform :: PPC.FreeRegs) entry_ids block_live sccs
ArchARM _ _ _ -> panic "linearRegAlloc ArchARM"
+ ArchARM64 -> panic "linearRegAlloc ArchARM64"
ArchPPC_64 -> linearRegAlloc' dflags (frInitFreeRegs platform :: PPC.FreeRegs) entry_ids block_live sccs
ArchPPC_64 _ -> linearRegAlloc' dflags (frInitFreeRegs platform :: PPC.FreeRegs) entry_ids block_live sccs
ArchAlpha -> panic "linearRegAlloc ArchAlpha"
ArchMipseb -> panic "linearRegAlloc ArchMipseb"
--- ghc-7.8.4/compiler/nativeGen/TargetReg.hs
Index: ghc-7.8.4/compiler/nativeGen/TargetReg.hs
===================================================================
--- ghc-7.8.4.orig/compiler/nativeGen/TargetReg.hs
+++ ghc-7.8.4/compiler/nativeGen/TargetReg.hs
@@ -54,6 +54,7 @@
@@ -54,6 +54,7 @@ targetVirtualRegSqueeze platform
ArchSPARC -> SPARC.virtualRegSqueeze
ArchPPC_64 -> PPC.virtualRegSqueeze
ArchPPC_64 _ -> PPC.virtualRegSqueeze
ArchARM _ _ _ -> panic "targetVirtualRegSqueeze ArchARM"
+ ArchARM64 -> panic "targetVirtualRegSqueeze ArchARM64"
ArchAlpha -> panic "targetVirtualRegSqueeze ArchAlpha"
ArchMipseb -> panic "targetVirtualRegSqueeze ArchMipseb"
ArchMipsel -> panic "targetVirtualRegSqueeze ArchMipsel"
@@ -70,6 +71,7 @@
@@ -70,6 +71,7 @@ targetRealRegSqueeze platform
ArchSPARC -> SPARC.realRegSqueeze
ArchPPC_64 -> PPC.realRegSqueeze
ArchPPC_64 _ -> PPC.realRegSqueeze
ArchARM _ _ _ -> panic "targetRealRegSqueeze ArchARM"
+ ArchARM64 -> panic "targetRealRegSqueeze ArchARM64"
ArchAlpha -> panic "targetRealRegSqueeze ArchAlpha"
ArchMipseb -> panic "targetRealRegSqueeze ArchMipseb"
ArchMipsel -> panic "targetRealRegSqueeze ArchMipsel"
@@ -85,6 +87,7 @@
@@ -85,6 +87,7 @@ targetClassOfRealReg platform
ArchSPARC -> SPARC.classOfRealReg
ArchPPC_64 -> PPC.classOfRealReg
ArchPPC_64 _ -> PPC.classOfRealReg
ArchARM _ _ _ -> panic "targetClassOfRealReg ArchARM"
+ ArchARM64 -> panic "targetClassOfRealReg ArchARM64"
ArchAlpha -> panic "targetClassOfRealReg ArchAlpha"
ArchMipseb -> panic "targetClassOfRealReg ArchMipseb"
ArchMipsel -> panic "targetClassOfRealReg ArchMipsel"
@@ -100,6 +103,7 @@
@@ -100,6 +103,7 @@ targetMkVirtualReg platform
ArchSPARC -> SPARC.mkVirtualReg
ArchPPC_64 -> PPC.mkVirtualReg
ArchPPC_64 _ -> PPC.mkVirtualReg
ArchARM _ _ _ -> panic "targetMkVirtualReg ArchARM"
+ ArchARM64 -> panic "targetMkVirtualReg ArchARM64"
ArchAlpha -> panic "targetMkVirtualReg ArchAlpha"
ArchMipseb -> panic "targetMkVirtualReg ArchMipseb"
ArchMipsel -> panic "targetMkVirtualReg ArchMipsel"
@@ -115,6 +119,7 @@
@@ -115,6 +119,7 @@ targetRegDotColor platform
ArchSPARC -> SPARC.regDotColor
ArchPPC_64 -> PPC.regDotColor
ArchPPC_64 _ -> PPC.regDotColor
ArchARM _ _ _ -> panic "targetRegDotColor ArchARM"
+ ArchARM64 -> panic "targetRegDotColor ArchARM64"
ArchAlpha -> panic "targetRegDotColor ArchAlpha"
ArchMipseb -> panic "targetRegDotColor ArchMipseb"
ArchMipsel -> panic "targetRegDotColor ArchMipsel"
--- ghc-7.8.4/compiler/utils/Platform.hs
Index: ghc-7.8.4/compiler/utils/Platform.hs
===================================================================
--- ghc-7.8.4.orig/compiler/utils/Platform.hs
+++ ghc-7.8.4/compiler/utils/Platform.hs
@@ -52,6 +52,7 @@
@@ -55,6 +55,7 @@ data Arch
, armISAExt :: [ArmISAExt]
, armABI :: ArmABI
}
@ -147,17 +159,21 @@ Index: ghc-7.8.3/aclocal.m4
| ArchAlpha
| ArchMipseb
| ArchMipsel
--- ghc-7.8.4/includes/stg/HaskellMachRegs.h
Index: ghc-7.8.4/includes/stg/HaskellMachRegs.h
===================================================================
--- ghc-7.8.4.orig/includes/stg/HaskellMachRegs.h
+++ ghc-7.8.4/includes/stg/HaskellMachRegs.h
@@ -38,6 +38,7 @@
#define MACHREGS_powerpc (powerpc_TARGET_ARCH || powerpc64_TARGET_ARCH || rs6000_TARGET_ARCH)
@@ -39,6 +39,7 @@
|| powerpc64le_TARGET_ARCH || rs6000_TARGET_ARCH)
#define MACHREGS_sparc sparc_TARGET_ARCH
#define MACHREGS_arm arm_TARGET_ARCH
+#define MACHREGS_aarch64 aarch64_TARGET_ARCH
#define MACHREGS_darwin darwin_TARGET_OS
#endif
--- ghc-7.8.4/includes/stg/MachRegs.h
Index: ghc-7.8.4/includes/stg/MachRegs.h
===================================================================
--- ghc-7.8.4.orig/includes/stg/MachRegs.h
+++ ghc-7.8.4/includes/stg/MachRegs.h
@@ -1,6 +1,6 @@
/* -----------------------------------------------------------------------------
@ -229,9 +245,11 @@ Index: ghc-7.8.3/aclocal.m4
#else
#error Cannot find platform to give register info for
--- ghc-7.8.4/rts/StgCRun.c
Index: ghc-7.8.4/rts/StgCRun.c
===================================================================
--- ghc-7.8.4.orig/rts/StgCRun.c
+++ ghc-7.8.4/rts/StgCRun.c
@@ -748,4 +748,70 @@
@@ -756,4 +756,70 @@ StgRun(StgFunPtr f, StgRegTable *basereg
}
#endif

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Fri May 29 05:47:07 UTC 2015 - peter.trommler@ohm-hochschule.de
- refresh ghc-arm64.patch
- unconditionally apply ghc-arm64.patch
-------------------------------------------------------------------
Thu May 28 15:14:31 UTC 2015 - peter.trommler@ohm-hochschule.de
- add backport of powerpc64le native code generator to
0001-implement-native-code-generator-for-ppc64.patch
- refresh D349.patch
-------------------------------------------------------------------
Thu May 28 13:15:52 CEST 2015 - ro@suse.de
- on s390/s390x use "make -j2" to stabilize abi hashes
(see also redhat bug 1212374)
-------------------------------------------------------------------
Tue May 26 09:19:09 UTC 2015 - mimi.vx@gmail.com

View File

@ -16,7 +16,7 @@
#
%global unregisterised_archs aarch64 ppc64le s390 s390x
%global unregisterised_archs aarch64 s390 s390x
Name: ghc
Version: 7.8.4
@ -168,9 +168,7 @@ except the ghc library, which is installed by the toplevel ghc metapackage.
%patch18 -p1
%patch19 -p1
%patch20 -p1
%ifarch aarch64
%patch21 -p1
%endif
%build
# Patch 19 modifies build system
@ -203,7 +201,11 @@ BUILD_DOCBOOK_HTML = NO
HSCOLOUR_SRCS = NO
EOF
./configure --prefix=%{_builddir}/ghc-boot --with-system-libffi
%ifnarch s390 s390x
make %{?_smp_mflags}
%else
make -j 2
%endif
make install
make clean
%endif
@ -254,7 +256,11 @@ export CFLAGS="${CFLAGS:-%optflags}"
%{?ghc_boot:--with-ghc=%{_builddir}/ghc-boot/bin/ghc} \
--with-system-libffi
%ifnarch s390 s390x
make %{?_smp_mflags}
%else
make -j 2
%endif
%install
%ghc_suse_disable_debug_packages