Reverting last patch "avoid actually running aclocal (for +d16) by using hard float patch closer to Ubuntu" and run autoreconf

This commit is contained in:
Jens Petersen 2012-04-27 23:18:42 +09:00
parent deef098bfc
commit 2d889de3ba
4 changed files with 54 additions and 19 deletions

View File

@ -1,15 +0,0 @@
diff -u ghc-7.4.1/compiler/main/DriverPipeline.hs.orig ghc-7.4.1/compiler/main/DriverPipeline.hs
--- ghc-7.4.1/compiler/main/DriverPipeline.hs.orig 2012-02-02 03:10:32.000000000 +0900
+++ ghc-7.4.1/compiler/main/DriverPipeline.hs 2012-04-27 10:42:53.142111769 +0900
@@ -1376,9 +1376,9 @@
-- does not enable VFP by default. Let's do this manually here
fpOpts = case platformArch (targetPlatform dflags) of
ArchARM ARMv7 ext -> if (elem VFPv3 ext)
- then ["-mattr=+v7,+vfp3"]
+ then ["-mattr=+v7,+vfp3", "-float-abi=hard"]
else if (elem VFPv3D16 ext)
- then ["-mattr=+v7,+vfp3,+d16"]
+ then ["-mattr=+v7,+vfp3,+d16", "-float-abi=hard"]
else []
_ -> []

View File

@ -0,0 +1,16 @@
Description: Use VFPv3-D16 FPU for ARM builds
Author: Jani Monoses <jani@ubuntu.com>
Index: ghc/aclocal.m4
===================================================================
--- ghc.orig/aclocal.m4 2012-02-01 18:10:32.000000000 +0000
+++ ghc/aclocal.m4 2012-03-10 16:40:32.415005650 +0000
@@ -333,7 +333,7 @@
],
[changequote(, )dnl
ARM_ISA=ARMv7
- ARM_ISA_EXT="[VFPv3,NEON]"
+ ARM_ISA_EXT="[VFPv3D16,NEON]"
changequote([, ])dnl
])
])

View File

@ -0,0 +1,26 @@
Description: If we are on armhf, tell llvm to generate code for this ABI. Not
forwarded upstream, because they will do a more 'proper' patch. See upstream
bug #5914.
Author: Iain Lane <laney@debian.org>
Index: ghc/compiler/main/DriverPipeline.hs
===================================================================
--- ghc.orig/compiler/main/DriverPipeline.hs 2012-03-10 16:41:46.000000000 +0000
+++ ghc/compiler/main/DriverPipeline.hs 2012-03-10 16:42:59.209169474 +0000
@@ -1,5 +1,5 @@
{-# OPTIONS -fno-cse #-}
-{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE NamedFieldPuns, CPP #-}
-- -fno-cse is needed for GLOBAL_VAR's to behave properly
-----------------------------------------------------------------------------
@@ -1379,6 +1379,9 @@
then ["-mattr=+v7,+vfp3"]
else if (elem VFPv3D16 ext)
then ["-mattr=+v7,+vfp3,+d16"]
+#ifdef __ARM_PCS_VFP
+ ++ ["-float-abi=hard"]
+#endif
else []
_ -> []

View File

@ -98,8 +98,9 @@ Patch9: Cabal-fix-dynamic-exec-for-TH.patch
# Debian armel fixes
Patch10: fix-ARM-s-StgCRun-clobbered-register-list-for-both-A.patch
Patch11: fix-ARM-StgCRun-to-not-save-and-restore-r11-fp-regis.patch
# need to tell llc to use hard float on armv7hl
Patch12: ghc-7.4.1-armv7hl-llc-hard-float.patch
# Debian armhf fixes
Patch12: ghc-debian-ARM-VFPv3D16.patch
Patch13: ghc-debian-armhf_llvm_abi.patch
%description
GHC is a state-of-the-art, open source, compiler and interactive environment
@ -218,7 +219,12 @@ ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
%ifarch armv7hl armv5tel
%patch10 -p1 -b .arm1
%patch11 -p1 -b .arm2
%endif
%ifarch armv7hl
# touches aclocal.m4
%patch12 -p1 -b .arm
%patch13 -p1 -b .arm
autoreconf
%endif
%build
@ -235,6 +241,9 @@ BUILD_DOCBOOK_HTML = NO
%if %{undefined without_hscolour}
HSCOLOUR_SRCS = NO
%endif
%ifarch armv7hl
SRC_HC_OPTS += -D__ARM_PCS_VFP
%endif
EOF
export CFLAGS="${CFLAGS:-%optflags}"
@ -421,8 +430,7 @@ fi
* Tue Apr 10 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1.1
- build with llvm-3.0 on ARM
- remove arm from unregisterised_archs
- add Debian ARM register patches (Iain Lane)
- make llc use -float-abi=hard on armv7hl (thanks Debian and Ubuntu)
- add 4 Debian ARM patches for armel and armhf (Iain Lane)
- bootstrap build
* Wed Feb 15 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1