use ld.gold for aarch64 and "make -j3" for s390
This commit is contained in:
parent
4a07cbb90c
commit
6bb2991c51
42
ghc-7.8-arm-use-ld-gold.patch
Normal file
42
ghc-7.8-arm-use-ld-gold.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
armv7 by nomeata: https://ghc.haskell.org/trac/ghc/ticket/8976#comment:12
|
||||||
|
arm64 backport of https://ghc.haskell.org/trac/ghc/ticket/9673#comment:28 (erikd)
|
||||||
|
|
||||||
|
--- ghc-7.8.4/aclocal.m4.24~ 2015-04-01 04:48:39.961193022 -0400
|
||||||
|
+++ ghc-7.8.4/aclocal.m4 2015-04-01 04:50:19.708203082 -0400
|
||||||
|
@@ -553,6 +553,14 @@
|
||||||
|
$3="$$3 -D_HPUX_SOURCE"
|
||||||
|
$5="$$5 -D_HPUX_SOURCE"
|
||||||
|
;;
|
||||||
|
+ arm*)
|
||||||
|
+ # On arm, link using gold
|
||||||
|
+ $3="$$3 -fuse-ld=gold"
|
||||||
|
+ ;;
|
||||||
|
+ aarch64)
|
||||||
|
+ # On arm, link using gold
|
||||||
|
+ $3="$$3 -fuse-ld=gold"
|
||||||
|
+ ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If gcc knows about the stack protector, turn it off.
|
||||||
|
--- ghc-7.8.4/configure.ac~ 2014-12-22 14:08:24.000000000 -0500
|
||||||
|
+++ ghc-7.8.4/configure.ac 2015-04-22 00:08:54.646110535 -0400
|
||||||
|
@@ -587,7 +587,18 @@
|
||||||
|
dnl ** Which ld to use?
|
||||||
|
dnl --------------------------------------------------------------
|
||||||
|
FP_ARG_WITH_PATH_GNU_PROG([LD], [ld], [ld])
|
||||||
|
-LdCmd="$LD"
|
||||||
|
+case $target in
|
||||||
|
+arm*linux* | aarch64*linux*)
|
||||||
|
+ # Arm requires use of the binutils ld.gold linker.
|
||||||
|
+ # This case should catch at least arm-unknown-linux-gnueabihf and
|
||||||
|
+ # arm-linux-androideabi.
|
||||||
|
+ FP_ARG_WITH_PATH_GNU_PROG([LD_GOLD], [ld.gold], [ld.gold])
|
||||||
|
+ LdCmd="$LD_GOLD"
|
||||||
|
+ ;;
|
||||||
|
+*)
|
||||||
|
+ LdCmd="$LD"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
AC_SUBST([LdCmd])
|
||||||
|
|
||||||
|
dnl ** Which nm to use?
|
@ -1,17 +0,0 @@
|
|||||||
Patch by nomeata: https://ghc.haskell.org/trac/ghc/ticket/8976#comment:12
|
|
||||||
|
|
||||||
Index: ghc-7.8.3.20141119/aclocal.m4
|
|
||||||
===================================================================
|
|
||||||
--- ghc-7.8.3.20141119.orig/aclocal.m4 2014-12-08 18:49:28.207171714 +0100
|
|
||||||
+++ ghc-7.8.3.20141119/aclocal.m4 2014-12-08 19:03:06.815522917 +0100
|
|
||||||
@@ -553,6 +553,10 @@
|
|
||||||
$3="$$3 -D_HPUX_SOURCE"
|
|
||||||
$5="$$5 -D_HPUX_SOURCE"
|
|
||||||
;;
|
|
||||||
+ arm*)
|
|
||||||
+ # On arm, link using gold
|
|
||||||
+ $3="$$3 -fuse-ld=gold"
|
|
||||||
+ ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If gcc knows about the stack protector, turn it off.
|
|
21
ghc.spec
21
ghc.spec
@ -56,7 +56,7 @@ Patch20: ghc-glibc-2.20_BSD_SOURCE.patch
|
|||||||
Patch21: ghc-arm64.patch
|
Patch21: ghc-arm64.patch
|
||||||
Patch22: ghc-armv7-VFPv3D16--NEON.patch
|
Patch22: ghc-armv7-VFPv3D16--NEON.patch
|
||||||
Patch23: ghc-7.8.3-Cabal-install-PATH-warning.patch
|
Patch23: ghc-7.8.3-Cabal-install-PATH-warning.patch
|
||||||
Patch24: ghc-7.8-arm7-use-ld-gold-8976.patch
|
Patch24: ghc-7.8-arm-use-ld-gold.patch
|
||||||
Patch25: ghc-7.8-arm7_saner-linker-opt-handling-9873.patch
|
Patch25: ghc-7.8-arm7_saner-linker-opt-handling-9873.patch
|
||||||
Patch26: ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch
|
Patch26: ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch
|
||||||
|
|
||||||
@ -276,9 +276,12 @@ rm -r libffi-tarballs
|
|||||||
%patch26 -p1 -b .orig
|
%patch26 -p1 -b .orig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%ifarch armv7hl aarch64
|
||||||
|
%patch24 -p1 -b .24~
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch armv7hl
|
%ifarch armv7hl
|
||||||
%patch22 -p1 -b .orig
|
%patch22 -p1 -b .orig
|
||||||
%patch24 -p1 -b .24~
|
|
||||||
%patch25 -p1 -b .25~
|
%patch25 -p1 -b .25~
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -357,6 +360,7 @@ export LANG=en_US.utf8
|
|||||||
|
|
||||||
echo _smp_mflags is \'%{?_smp_mflags}\'
|
echo _smp_mflags is \'%{?_smp_mflags}\'
|
||||||
# NB for future ghc versions maybe should hardcode max -j4 for all builds
|
# NB for future ghc versions maybe should hardcode max -j4 for all builds
|
||||||
|
# (s390 seems ABI unstable under -j4)
|
||||||
# Though apparently this does not affect 7.10
|
# Though apparently this does not affect 7.10
|
||||||
MAKE_JOBS=$(echo %{?_smp_mflags} | sed -e "s/^-j//")
|
MAKE_JOBS=$(echo %{?_smp_mflags} | sed -e "s/^-j//")
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
@ -370,11 +374,18 @@ if [ -z "$MAKE_JOBS" -o "0$MAKE_JOBS" -le "%{build_minimum_smp}" ]; then
|
|||||||
MAKE_JOBS="%{build_minimum_smp}"
|
MAKE_JOBS="%{build_minimum_smp}"
|
||||||
fi
|
fi
|
||||||
%else
|
%else
|
||||||
|
%ifarch s390
|
||||||
|
# keep < 4 for s390
|
||||||
|
if [ "0$MAKE_JOBS" -ge "4" ]; then
|
||||||
|
MAKE_JOBS=3
|
||||||
|
fi
|
||||||
|
%else
|
||||||
# keep < 9 for all other archs
|
# keep < 9 for all other archs
|
||||||
if [ "0$MAKE_JOBS" -gt "8" ]; then
|
if [ "0$MAKE_JOBS" -gt "8" ]; then
|
||||||
MAKE_JOBS=8
|
MAKE_JOBS=8
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
make ${MAKE_JOBS:+-j$MAKE_JOBS}
|
make ${MAKE_JOBS:+-j$MAKE_JOBS}
|
||||||
|
|
||||||
@ -575,8 +586,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Apr 10 2015 Jens Petersen <petersen@redhat.com> - 7.8.4-44
|
* Wed Apr 22 2015 Jens Petersen <petersen@redhat.com> - 7.8.4-44
|
||||||
- turn on SMP and ghci for aarch64 (Erik de Castro Lopo, #1210323)
|
- use ld.gold on aarch64 like for armv7 (Erik de Castro Lopo, #1195231)
|
||||||
|
- turn on SMP and ghci for aarch64 (Erik de Castro Lopo, #1195231)
|
||||||
|
- use "make -j3" for s390 (#1212374)
|
||||||
|
|
||||||
* Mon Mar 30 2015 Jens Petersen <petersen@redhat.com> - 7.8.4-43
|
* Mon Mar 30 2015 Jens Petersen <petersen@redhat.com> - 7.8.4-43
|
||||||
- aarch64 production build
|
- aarch64 production build
|
||||||
|
Loading…
Reference in New Issue
Block a user