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 | ||||
| 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 | ||||
| # Debian armhf fixes | ||||
| Patch12: ghc-debian-ARM-VFPv3D16.patch | ||||
| Patch13: ghc-debian-armhf_llvm_abi.patch | ||||
| # need to tell llc to use hard float on armv7hl | ||||
| Patch12: ghc-7.4.1-armv7hl-llc-hard-float.patch | ||||
| 
 | ||||
| %description | ||||
| 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 | ||||
| %patch11 -p1 -b .arm2 | ||||
| %patch12 -p1 -b .arm | ||||
| %patch13 -p1 -b .arm | ||||
| %endif | ||||
| 
 | ||||
| %build | ||||
| @ -237,9 +235,6 @@ 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}" | ||||
| @ -426,7 +421,8 @@ 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 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 | ||||
| 
 | ||||
| * Wed Feb 15 2012 Jens Petersen <petersen@redhat.com> - 7.4.1-1 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user