[Pkg-haskell-commits] darcs: ghc: Drop patches always_build_arm_spinlocks.patch, linker-detection-fix, dll-split-fix.patch, TcSplice-no-GHCi-fix; applied upstream.

Joachim Breitner mail at joachim-breitner.de
Tue Dec 23 15:10:57 UTC 2014


Tue Dec 23 14:28:54 UTC 2014  Joachim Breitner <mail at joachim-breitner.de>
  * Drop patches always_build_arm_spinlocks.patch, linker-detection-fix, dll-split-fix.patch, TcSplice-no-GHCi-fix; applied upstream.

    M ./changelog +2
    R ./patches/TcSplice-no-GHCi-fix
    R ./patches/always_build_arm_spinlocks.patch
    R ./patches/dll-split-fix.patch
    R ./patches/linker-detection-fix
    M ./patches/saner-linker-opt-handling -16 +16
    M ./patches/series -4

Tue Dec 23 14:28:54 UTC 2014  Joachim Breitner <mail at joachim-breitner.de>
  * Drop patches always_build_arm_spinlocks.patch, linker-detection-fix, dll-split-fix.patch, TcSplice-no-GHCi-fix; applied upstream.
diff -rN -u old-ghc/changelog new-ghc/changelog
--- old-ghc/changelog	2014-12-23 15:10:57.597643523 +0000
+++ new-ghc/changelog	2014-12-23 15:10:57.617643513 +0000
@@ -1,6 +1,8 @@
 ghc (7.8.20141223-1) UNRELEASED; urgency=medium
 
   * New upstream release (7.8.4)
+  * Drop patches always_build_arm_spinlocks.patch, linker-detection-fix,
+    dll-split-fix.patch, TcSplice-no-GHCi-fix; applied upstream.
 
  -- Joachim Breitner <nomeata at debian.org>  Tue, 23 Dec 2014 15:26:41 +0100
 
diff -rN -u old-ghc/patches/always_build_arm_spinlocks.patch new-ghc/patches/always_build_arm_spinlocks.patch
--- old-ghc/patches/always_build_arm_spinlocks.patch	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/always_build_arm_spinlocks.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,69 +0,0 @@
-commit e42f158ddc7b4d1d2ca41bd62fc9432030889ac7
-Author: Joachim Breitner <mail at joachim-breitner.de>
-Date:   Mon Dec 8 18:37:52 2014 +0100
-
-    Link pre-ARMv6 spinlocks into all RTS variants
-    
-    Summary:
-    For compatibility with ARM machines from pre v6, the RTS provides
-    implementations of certain atomic operations. Previously, these
-    were only included in the threaded RTS.
-    
-    But ghc (the library) contains the code in compiler/cbits/genSym.c, which
-    uses these operations if there is more than one capability. But there is only
-    one libHSghc, so the linker wants to resolve these symbols in every case.
-    
-    By providing these operations in all RTSs, the linker is happy. The only
-    downside is a small amount of dead code in the non-threaded RTS on old ARM
-    machines.
-    
-    Test Plan: It helped here.
-    
-    Reviewers: bgamari, austin
-    
-    Subscribers: carter, thomie
-    
-    Differential Revision: https://phabricator.haskell.org/D564
-    
-    GHC Trac Issues: #8951
-
-Index: ghc-7.8.3.20141119/includes/stg/SMP.h
-===================================================================
---- ghc-7.8.3.20141119.orig/includes/stg/SMP.h	2014-12-08 18:44:25.438412602 +0100
-+++ ghc-7.8.3.20141119/includes/stg/SMP.h	2014-12-08 18:44:25.434412386 +0100
-@@ -14,13 +14,13 @@
- #ifndef SMP_H
- #define SMP_H
- 
--#if defined(THREADED_RTS)
--
- #if arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv6)
- void arm_atomic_spin_lock(void);
- void arm_atomic_spin_unlock(void);
- #endif
- 
-+#if defined(THREADED_RTS)
-+
- /* ----------------------------------------------------------------------------
-    Atomic operations
-    ------------------------------------------------------------------------- */
-Index: ghc-7.8.3.20141119/rts/OldARMAtomic.c
-===================================================================
---- ghc-7.8.3.20141119.orig/rts/OldARMAtomic.c	2014-12-08 18:44:25.438412602 +0100
-+++ ghc-7.8.3.20141119/rts/OldARMAtomic.c	2014-12-08 18:44:32.678806807 +0100
-@@ -14,8 +14,6 @@
- #include <sched.h>
- #endif
- 
--#if defined(THREADED_RTS)
--
- #if arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv6)
- 
- static volatile int atomic_spin = 0;
-@@ -51,6 +49,3 @@
- } 
- 
- #endif  /* arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv6) */
--
--#endif  /* defined(THREADED_RTS) */
--
diff -rN -u old-ghc/patches/dll-split-fix.patch new-ghc/patches/dll-split-fix.patch
--- old-ghc/patches/dll-split-fix.patch	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/dll-split-fix.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,193 +0,0 @@
-commit 2a8ea4745d6ff79d6ce17961a64d9013243fc3c6
-Author: Sergei Trofimovich <slyfox at gentoo.org>
-Date:   Sat Oct 4 20:48:22 2014 +0100
-
-    ghc.mk: fix list for dll-split on GHCi-less builds
-    
-    To reproduce build failure it's enough to try
-    to build GHC on amd64 with the following setup:
-    
-        $ cat mk/build.mk
-        # for #9552
-        GhcWithInterpreter = NO
-    
-    It gives:
-    
-        Reachable modules from DynFlags out of date
-        Please fix compiler/ghc.mk, or building DLLs on Windows may break (#7780)
-        Redundant modules: Bitmap BlockId ... <list of 42 modules>
-        <make error>
-    
-    dll-split among other things makes sure
-    all mentioned modules are used by DynFlags.
-    '#ifdef GHCI' keeps is from happening.
-    
-    Patch moves those 42 modules under
-    'GhcWithInterpreter' guard.
-    
-    Fixes Issue #9552
-    
-    Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
-
-Index: ghc-7.8.3.20141119/compiler/ghc.mk
-===================================================================
---- ghc-7.8.3.20141119.orig/compiler/ghc.mk	2014-12-08 18:45:43.683249077 +0100
-+++ ghc-7.8.3.20141119/compiler/ghc.mk	2014-12-08 18:45:43.683249077 +0100
-@@ -461,36 +461,15 @@
- 	BasicTypes \
- 	BinIface \
- 	Binary \
--	Bitmap \
--	BlockId \
- 	BooleanFormula \
- 	BreakArray \
- 	BufWrite \
- 	BuildTyCl \
--	ByteCodeAsm \
--	ByteCodeInstr \
--	ByteCodeItbls \
--	CLabel \
- 	Class \
- 	CmdLineParser \
--	Cmm \
--	CmmCallConv \
--	CmmExpr \
--	CmmInfo \
--	CmmMachOp \
--	CmmNode \
- 	CmmType \
--	CmmUtils \
- 	CoAxiom \
- 	ConLike \
--	CodeGen.Platform \
--	CodeGen.Platform.ARM \
--	CodeGen.Platform.NoRegs \
--	CodeGen.Platform.PPC \
--	CodeGen.Platform.PPC_Darwin \
--	CodeGen.Platform.SPARC \
--	CodeGen.Platform.X86 \
--	CodeGen.Platform.X86_64 \
- 	Coercion \
- 	Config \
- 	Constants \
-@@ -514,7 +493,6 @@
- 	Exception \
- 	ExtsCompat46 \
- 	FamInstEnv \
--	FastBool \
- 	FastFunctions \
- 	FastMutInt \
- 	FastString \
-@@ -524,8 +502,6 @@
- 	FiniteMap \
- 	ForeignCall \
- 	Hooks \
--	Hoopl \
--	Hoopl.Dataflow \
- 	HsBinds \
- 	HsDecls \
- 	HsDoc \
-@@ -544,14 +520,12 @@
- 	IfaceSyn \
- 	IfaceType \
- 	InstEnv \
--	InteractiveEvalTypes \
- 	Kind \
- 	ListSetOps \
- 	Literal \
- 	LoadIface \
- 	Maybes \
- 	MkCore \
--	MkGraph \
- 	MkId \
- 	Module \
- 	MonadUtils \
-@@ -571,9 +545,6 @@
- 	PipelineMonad \
- 	Platform \
- 	PlatformConstants \
--	PprCmm \
--	PprCmmDecl \
--	PprCmmExpr \
- 	PprCore \
- 	PrelInfo \
- 	PrelNames \
-@@ -581,23 +552,10 @@
- 	Pretty \
- 	PrimOp \
- 	RdrName \
--	Reg \
--	RegClass \
- 	Rules \
--	SMRep \
- 	Serialized \
- 	SrcLoc \
- 	StaticFlags \
--	StgCmmArgRep \
--	StgCmmClosure \
--	StgCmmEnv \
--	StgCmmLayout \
--	StgCmmMonad \
--	StgCmmProf \
--	StgCmmTicky \
--	StgCmmUtils \
--	StgSyn \
--	Stream \
- 	StringBuffer \
- 	TcEvidence \
- 	TcIface \
-@@ -621,6 +579,54 @@
- 	VarEnv \
- 	VarSet
- 
-+ifeq "$(GhcWithInterpreter)" "YES"
-+# These files are reacheable from DynFlags
-+# only by GHCi-enabled code (see #9552)
-+compiler_stage2_dll0_MODULES += \
-+	Bitmap \
-+	BlockId \
-+	ByteCodeAsm \
-+	ByteCodeInstr \
-+	ByteCodeItbls \
-+	CLabel \
-+	Cmm \
-+	CmmCallConv \
-+	CmmExpr \
-+	CmmInfo \
-+	CmmMachOp \
-+	CmmNode \
-+	CmmUtils \
-+	CodeGen.Platform \
-+	CodeGen.Platform.ARM \
-+	CodeGen.Platform.NoRegs \
-+	CodeGen.Platform.PPC \
-+	CodeGen.Platform.PPC_Darwin \
-+	CodeGen.Platform.SPARC \
-+	CodeGen.Platform.X86 \
-+	CodeGen.Platform.X86_64 \
-+	FastBool \
-+	Hoopl \
-+	Hoopl.Dataflow \
-+	InteractiveEvalTypes \
-+	MkGraph \
-+	PprCmm \
-+	PprCmmDecl \
-+	PprCmmExpr \
-+	Reg \
-+	RegClass \
-+	SMRep \
-+	StgCmmArgRep \
-+	StgCmmClosure \
-+	StgCmmEnv \
-+	StgCmmLayout \
-+	StgCmmMonad \
-+	StgCmmProf \
-+	StgCmmTicky \
-+	StgCmmUtils \
-+	StgSyn \
-+	Stream
-+endif
-+
- compiler_stage2_dll0_HS_OBJS = \
-     $(patsubst %,compiler/stage2/build/%.$(dyn_osuf),$(subst .,/,$(compiler_stage2_dll0_MODULES)))
- 
diff -rN -u old-ghc/patches/linker-detection-fix new-ghc/patches/linker-detection-fix
--- old-ghc/patches/linker-detection-fix	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/linker-detection-fix	1970-01-01 00:00:00.000000000 +0000
@@ -1,40 +0,0 @@
-commit e7b414a3cc0e27049f2608f5e0a00c47146cc46d
-Author: Sebastian Dröge <sebastian at centricular.com>
-Date:   Tue Nov 18 12:40:20 2014 -0600
-
-    Fix detection of GNU gold linker if invoked via gcc with parameters
-    
-    Previously the linker was called without any commandline parameters to
-    detect whether bfd or gold is used. However the -fuse-ld parameter can
-    be used to switch between gold and bfd and should be taken into account
-    here.
-    
-    Trac #9336
-    
-    Signed-off-by: Austin Seipp <austin at well-typed.com>
-
-Index: ghc-7.8.3.20141119/compiler/main/SysTools.lhs
-===================================================================
---- ghc-7.8.3.20141119.orig/compiler/main/SysTools.lhs	2014-12-08 18:45:13.829021078 +0100
-+++ ghc-7.8.3.20141119/compiler/main/SysTools.lhs	2014-12-08 18:45:13.829021078 +0100
-@@ -739,7 +739,10 @@
- getLinkerInfo' dflags = do
-   let platform = targetPlatform dflags
-       os = platformOS platform
--      (pgm,_) = pgm_l dflags
-+      (pgm,args0) = pgm_l dflags
-+      args1     = map Option (getOpts dflags opt_l)
-+      args2     = args0 ++ args1
-+      args3     = filter notNull (map showOpt args2)
- 
-       -- Try to grab the info from the process output.
-       parseLinkerInfo stdo _stde _exitc
-@@ -790,7 +793,7 @@
-                  -- In practice, we use the compiler as the linker here. Pass
-                  -- -Wl,--version to get linker version info.
-                  (exitc, stdo, stde) <- readProcessEnvWithExitCode pgm
--                                        ["-Wl,--version"]
-+                                        (["-Wl,--version"] ++ args3)
-                                         en_locale_env
-                  -- Split the output by lines to make certain kinds
-                  -- of processing easier. In particular, 'clang' and 'gcc'
diff -rN -u old-ghc/patches/saner-linker-opt-handling new-ghc/patches/saner-linker-opt-handling
--- old-ghc/patches/saner-linker-opt-handling	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/saner-linker-opt-handling	2014-12-23 15:10:57.609643519 +0000
@@ -13,11 +13,11 @@
 So as a work-around we remove any other use of CONF_GCC_LINKER_OPTS_STAGE2.
 
 
-Index: ghc-7.8.3.20141119/libffi/ghc.mk
+Index: ghc-7.8.4/libffi/ghc.mk
 ===================================================================
---- ghc-7.8.3.20141119.orig/libffi/ghc.mk	2014-04-07 20:26:08.000000000 +0200
-+++ ghc-7.8.3.20141119/libffi/ghc.mk	2014-12-08 18:57:03.392339809 +0100
-@@ -88,7 +88,7 @@
+--- ghc-7.8.4.orig/libffi/ghc.mk	2014-12-23 15:28:03.043620563 +0100
++++ ghc-7.8.4/libffi/ghc.mk	2014-12-23 15:28:03.039620491 +0100
+@@ -95,7 +95,7 @@
  	    NM=$(NM) \
  	    RANLIB=$(REAL_RANLIB_CMD) \
          CFLAGS="$(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE1) -w" \
@@ -26,10 +26,10 @@
          "$(SHELL)" ./configure \
  	          --prefix=$(TOP)/libffi/build/inst \
  	          --libdir=$(TOP)/libffi/build/inst/lib \
-Index: ghc-7.8.3.20141119/mk/config.mk.in
+Index: ghc-7.8.4/mk/config.mk.in
 ===================================================================
---- ghc-7.8.3.20141119.orig/mk/config.mk.in	2014-12-08 18:49:28.215171926 +0100
-+++ ghc-7.8.3.20141119/mk/config.mk.in	2014-12-08 18:57:20.637055726 +0100
+--- ghc-7.8.4.orig/mk/config.mk.in	2014-12-23 15:28:03.043620563 +0100
++++ ghc-7.8.4/mk/config.mk.in	2014-12-23 15:28:03.039620491 +0100
 @@ -570,7 +570,6 @@
  # $1 = stage
  SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --cflag=,$$(filter-out -O,$$(SRC_CC_OPTS) $$(CONF_CC_OPTS_STAGE$1)))
@@ -38,10 +38,10 @@
  endef
  $(eval $(call set_stage_HSC2HS_OPTS,0))
  $(eval $(call set_stage_HSC2HS_OPTS,1))
-Index: ghc-7.8.3.20141119/rules/build-package-data.mk
+Index: ghc-7.8.4/rules/build-package-data.mk
 ===================================================================
---- ghc-7.8.3.20141119.orig/rules/build-package-data.mk	2014-04-14 14:38:12.000000000 +0200
-+++ ghc-7.8.3.20141119/rules/build-package-data.mk	2014-12-08 18:57:49.366250332 +0100
+--- ghc-7.8.4.orig/rules/build-package-data.mk	2014-12-23 15:28:03.043620563 +0100
++++ ghc-7.8.4/rules/build-package-data.mk	2014-12-23 15:28:03.039620491 +0100
 @@ -50,7 +50,7 @@
  # for a feature it may not generate warning-free C code, and thus may
  # think that the feature doesn't exist if -Werror is on.
@@ -51,10 +51,10 @@
  $1_$2_CONFIGURE_CPPFLAGS = $$(SRC_CPP_OPTS) $$(CONF_CPP_OPTS_STAGE$3) $$($1_CPP_OPTS) $$($1_$2_CPP_OPTS)
  
  $1_$2_CONFIGURE_OPTS += --configure-option=CFLAGS="$$($1_$2_CONFIGURE_CFLAGS)"
-Index: ghc-7.8.3.20141119/rules/distdir-opts.mk
+Index: ghc-7.8.4/rules/distdir-opts.mk
 ===================================================================
---- ghc-7.8.3.20141119.orig/rules/distdir-opts.mk	2014-04-07 20:26:08.000000000 +0200
-+++ ghc-7.8.3.20141119/rules/distdir-opts.mk	2014-12-08 18:58:18.435461083 +0100
+--- ghc-7.8.4.orig/rules/distdir-opts.mk	2014-12-23 15:28:03.043620563 +0100
++++ ghc-7.8.4/rules/distdir-opts.mk	2014-12-23 15:28:03.039620491 +0100
 @@ -64,7 +64,6 @@
  endif
  
@@ -63,10 +63,10 @@
   $$(SRC_LD_OPTS) \
   $$($1_LD_OPTS) \
   $$($1_$2_LD_OPTS) \
-Index: ghc-7.8.3.20141119/utils/hsc2hs/ghc.mk
+Index: ghc-7.8.4/utils/hsc2hs/ghc.mk
 ===================================================================
---- ghc-7.8.3.20141119.orig/utils/hsc2hs/ghc.mk	2014-04-07 20:26:15.000000000 +0200
-+++ ghc-7.8.3.20141119/utils/hsc2hs/ghc.mk	2014-12-08 18:57:07.848524715 +0100
+--- ghc-7.8.4.orig/utils/hsc2hs/ghc.mk	2014-12-23 15:28:03.043620563 +0100
++++ ghc-7.8.4/utils/hsc2hs/ghc.mk	2014-12-23 15:28:03.039620491 +0100
 @@ -27,7 +27,7 @@
  # system uses it for all stages and passes the right options for each stage
  # on the command line
diff -rN -u old-ghc/patches/series new-ghc/patches/series
--- old-ghc/patches/series	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/series	2014-12-23 15:10:57.609643519 +0000
@@ -4,9 +4,5 @@
 haddock-hardcode-ghc-paths
 arm64.patch
 mips-support.patch
-always_build_arm_spinlocks.patch
-linker-detection-fix
-dll-split-fix.patch
-TcSplice-no-GHCi-fix
 saner-linker-opt-handling
 use-gold-on-arm
diff -rN -u old-ghc/patches/TcSplice-no-GHCi-fix new-ghc/patches/TcSplice-no-GHCi-fix
--- old-ghc/patches/TcSplice-no-GHCi-fix	2014-12-23 15:10:57.589643527 +0000
+++ new-ghc/patches/TcSplice-no-GHCi-fix	1970-01-01 00:00:00.000000000 +0000
@@ -1,69 +0,0 @@
-From d996a1bb4db84727fbf1a8e9461a032e04e544e7 Mon Sep 17 00:00:00 2001
-From: Karel Gardas <karel.gardas at centrum.cz>
-Date: Fri, 18 Jul 2014 23:54:52 -0500
-Subject: [PATCH] fix inconsistency in exported functions from
- TcSplice.lhs/lhs-boot files when GHCI is not defined
-
-Summary:
-This patch fixes inconsistency in exported functions from TcSplice.lhs and TcSplice.lhs-boot
-files. It looks like only GHC HEAD is sensitive to it and complains about it while bootstraping
-another HEAD. At least this is what happening on Solaris/AMD64 builder machine where GHC 7.9.20140620
-is used as a boostrap compiler. The failure does not happen on another builders.
-
-Test Plan: validate
-
-Reviewers: austin
-
-Reviewed By: austin
-
-Subscribers: phaskell, simonmar, relrod, carter
-
-Differential Revision: https://phabricator.haskell.org/D74
----
- compiler/typecheck/TcSplice.lhs-boot | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-Index: ghc-7.8.3.20141119/compiler/typecheck/TcSplice.lhs-boot
-===================================================================
---- ghc-7.8.3.20141119.orig/compiler/typecheck/TcSplice.lhs-boot	2014-12-08 18:49:28.251172880 +0100
-+++ ghc-7.8.3.20141119/compiler/typecheck/TcSplice.lhs-boot	2014-12-08 18:49:28.251172880 +0100
-@@ -3,7 +3,6 @@
- import HsSyn    ( HsSplice, HsBracket, HsQuasiQuote,
-                   HsExpr, LHsType, LHsExpr, LPat, LHsDecl )
- import HsExpr   ( PendingRnSplice )
--import Id       ( Id )
- import Name     ( Name )
- import RdrName  ( RdrName )
- import TcRnTypes( TcM, TcId )
-@@ -11,6 +10,7 @@
- import Annotations ( Annotation, CoreAnnTarget )
- 
- #ifdef GHCI
-+import Id       ( Id )
- import qualified Language.Haskell.TH as TH
- #endif
- 
-@@ -26,20 +26,20 @@
-                -> TcRhoType
-                -> TcM (HsExpr TcId)
- 
--tcTopSpliceExpr :: Bool -> TcM (LHsExpr Id) -> TcM (LHsExpr Id)
--
- runQuasiQuoteDecl :: HsQuasiQuote RdrName -> TcM [LHsDecl RdrName]
- runQuasiQuoteExpr :: HsQuasiQuote RdrName -> TcM (LHsExpr RdrName)
- runQuasiQuoteType :: HsQuasiQuote RdrName -> TcM (LHsType RdrName)
- runQuasiQuotePat  :: HsQuasiQuote RdrName -> TcM (LPat RdrName)
- runAnnotation     :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation
- 
-+#ifdef GHCI
-+tcTopSpliceExpr :: Bool -> TcM (LHsExpr Id) -> TcM (LHsExpr Id)
-+
- runMetaE :: LHsExpr Id -> TcM (LHsExpr RdrName)
- runMetaP :: LHsExpr Id -> TcM (LPat RdrName)
- runMetaT :: LHsExpr Id  -> TcM (LHsType RdrName)
- runMetaD :: LHsExpr Id -> TcM [LHsDecl RdrName]
- 
--#ifdef GHCI
- lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
- runQuasi :: TH.Q a -> TcM a
- #endif




More information about the Pkg-haskell-commits mailing list