[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