avoid actually running aclocal (for +d16) by using hard float patch closer to Ubuntu
-drop the original debian armhf llvm driver patches
This commit is contained in:
parent
8d5c7715aa
commit
deef098bfc
15
ghc-7.4.1-armv7hl-llc-hard-float.patch
Normal file
15
ghc-7.4.1-armv7hl-llc-hard-float.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
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 []
|
||||||
|
_ -> []
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
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
|
|
||||||
])
|
|
||||||
])
|
|
@ -1,26 +0,0 @@
|
|||||||
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 []
|
|
||||||
_ -> []
|
|
||||||
|
|
12
ghc.spec
12
ghc.spec
@ -98,9 +98,8 @@ Patch9: Cabal-fix-dynamic-exec-for-TH.patch
|
|||||||
# Debian armel fixes
|
# Debian armel fixes
|
||||||
Patch10: fix-ARM-s-StgCRun-clobbered-register-list-for-both-A.patch
|
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
|
Patch11: fix-ARM-StgCRun-to-not-save-and-restore-r11-fp-regis.patch
|
||||||
# Debian armhf fixes
|
# need to tell llc to use hard float on armv7hl
|
||||||
Patch12: ghc-debian-ARM-VFPv3D16.patch
|
Patch12: ghc-7.4.1-armv7hl-llc-hard-float.patch
|
||||||
Patch13: ghc-debian-armhf_llvm_abi.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GHC is a state-of-the-art, open source, compiler and interactive environment
|
GHC is a state-of-the-art, open source, compiler and interactive environment
|
||||||
@ -220,7 +219,6 @@ ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
|
|||||||
%patch10 -p1 -b .arm1
|
%patch10 -p1 -b .arm1
|
||||||
%patch11 -p1 -b .arm2
|
%patch11 -p1 -b .arm2
|
||||||
%patch12 -p1 -b .arm
|
%patch12 -p1 -b .arm
|
||||||
%patch13 -p1 -b .arm
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -237,9 +235,6 @@ BUILD_DOCBOOK_HTML = NO
|
|||||||
%if %{undefined without_hscolour}
|
%if %{undefined without_hscolour}
|
||||||
HSCOLOUR_SRCS = NO
|
HSCOLOUR_SRCS = NO
|
||||||
%endif
|
%endif
|
||||||
%ifarch armv7hl
|
|
||||||
SRC_HC_OPTS += -D__ARM_PCS_VFP
|
|
||||||
%endif
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
export CFLAGS="${CFLAGS:-%optflags}"
|
export CFLAGS="${CFLAGS:-%optflags}"
|
||||||
@ -426,7 +421,8 @@ fi
|
|||||||
* Tue Apr 10 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1.1
|
* Tue Apr 10 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1.1
|
||||||
- build with llvm-3.0 on ARM
|
- build with llvm-3.0 on ARM
|
||||||
- remove arm from unregisterised_archs
|
- remove arm from unregisterised_archs
|
||||||
- add 4 Debian ARM patches for armel and armhf (Iain Lane)
|
- add Debian ARM register patches (Iain Lane)
|
||||||
|
- make llc use -float-abi=hard on armv7hl (thanks Debian and Ubuntu)
|
||||||
- bootstrap build
|
- bootstrap build
|
||||||
|
|
||||||
* Wed Feb 15 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1
|
* Wed Feb 15 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1
|
||||||
|
Loading…
Reference in New Issue
Block a user