[ghc] enable ghc build on sparcv9

Fabio M. Di Nitto fabbione at fedoraproject.org
Wed Feb 23 13:46:21 UTC 2011


commit 6d562261fb1e9cbf285cb80b88c1d6fa3c0bd59d
Author: Fabio M. Di Nitto <fdinitto at redhat.com>
Date:   Wed Feb 23 14:46:08 2011 +0100

    enable ghc build on sparcv9
    
    Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>

 ghc-fix-linking-on-sparc.patch |   13 +++++++++++++
 ghc.spec                       |   17 ++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)
---
diff --git a/ghc-fix-linking-on-sparc.patch b/ghc-fix-linking-on-sparc.patch
new file mode 100644
index 0000000..323730a
--- /dev/null
+++ b/ghc-fix-linking-on-sparc.patch
@@ -0,0 +1,13 @@
+diff -Nuard ghc-7.0.1.orig/compiler/main/DriverPipeline.hs ghc-7.0.1/compiler/main/DriverPipeline.hs
+--- ghc-7.0.1.orig/compiler/main/DriverPipeline.hs	2010-11-12 19:10:03.000000000 +0100
++++ ghc-7.0.1/compiler/main/DriverPipeline.hs	2011-02-22 11:08:26.079686994 +0100
+@@ -1211,6 +1211,9 @@
+         let ld_r args = SysTools.runLink dflags ([
+                             SysTools.Option "-nostdlib",
+                             SysTools.Option "-nodefaultlibs",
++#ifdef sparc_TARGET_ARCH
++                            SysTools.Option "-Wl,--no-relax",
++#endif
+                             SysTools.Option "-Wl,-r",
+                             SysTools.Option ld_x_flag,
+                             SysTools.Option "-o",
diff --git a/ghc.spec b/ghc.spec
index 58bb431..8d9c4f9 100644
--- a/ghc.spec
+++ b/ghc.spec
@@ -28,10 +28,10 @@ Name: ghc
 # NB make sure to rebuild ghc after a version bump to avoid ABI change problems
 Version: 7.0.1
 # can't be reset - used by versioned library subpackages
-Release: 10%{?dist}
+Release: 11%{?dist}
 Summary: Glasgow Haskell Compilation system
 # fedora ghc has only been bootstrapped on the following archs:
-ExclusiveArch: %{ix86} x86_64 ppc alpha
+ExclusiveArch: %{ix86} x86_64 ppc alpha sparcv9
 License: BSD
 Group: Development/Languages
 Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
@@ -48,7 +48,7 @@ Obsoletes: haddock < 2.4.2-3, ghc-haddock-devel < 2.4.2-3
 Obsoletes: ghc-haddock-doc < 2.4.2-3
 # introduced for f15
 Obsoletes: ghc-libs < 7.0.1-3
-BuildRequires: ghc, ghc-rpm-macros >= 0.11.1
+BuildRequires: ghc, ghc-rpm-macros >= 0.11.10
 BuildRequires: gmp-devel, libffi-devel
 BuildRequires: ghc-directory-devel, ghc-process-devel, ghc-pretty-devel, ghc-containers-devel, ghc-haskell98-devel, ghc-bytestring-devel
 # for internal terminfo
@@ -72,6 +72,7 @@ Patch4: ghc-use-system-libffi.patch
 # add cabal configure option --enable-executable-dynamic
 # (see http://hackage.haskell.org/trac/hackage/ticket/600)
 Patch5: Cabal-option-executable-dynamic.patch
+Patch6: ghc-fix-linking-on-sparc.patch
 
 %description
 GHC is a state-of-the-art programming suite for Haskell, a purely
@@ -150,6 +151,8 @@ rm -r ghc-tarballs/libffi
 
 %patch5 -p1 -b .orig
 
+%patch6 -p1 -b .sparclinking
+
 %build
 cat > mk/build.mk << EOF
 GhcLibWays = v %{?with_prof:p} %{!?ghc_without_shared:dyn} 
@@ -351,6 +354,14 @@ fi
 %endif
 
 %changelog
+* Wed Feb 23 2011 Fabio M. Di Nitto <fdinitto at redhat.com>
+- enable build on sparcv9
+- add ghc-fix-linking-on-sparc.patch to fix ld being called
+  at the same time with --relax and -r. The two options conflict
+  on sparc.
+- bump BuildRequires on ghc-rpm-macros to >= 0.11.10 that guarantees
+  a correct build on secondary architectures.
+
 * Sun Feb 13 2011 Jens Petersen <petersen at redhat.com>
 - without_shared renamed to ghc_without_shared
 


More information about the scm-commits mailing list