diff options
| author | Joachim Breitner <mail@joachim-breitner.de> | 2014-12-23 17:28:54 +0300 |
|---|---|---|
| committer | Joachim Breitner <mail@joachim-breitner.de> | 2014-12-23 17:28:54 +0300 |
| commit | 676004e7a419b397eb078faafdd4c9b5f9ebd68b (patch) | |
| tree | 901c9da702142058aa6094e8835c31054eba4340 /p/ghc | |
| parent | 98d933079135f73e5501a328986b2700b68511f7 (diff) | |
| download | DHG_packages-676004e7a419b397eb078faafdd4c9b5f9ebd68b.tar.gz | |
ghc: Drop patches always_build_arm_spinlocks.patch, linker-detection-fix, dll-split-fix.patch, TcSplice-no-GHCi-fix; applied upstream.
Diffstat (limited to 'p/ghc')
| -rw-r--r-- | p/ghc/debian/changelog | 2 | ||||
| -rw-r--r-- | p/ghc/debian/patches/TcSplice-no-GHCi-fix | 69 | ||||
| -rw-r--r-- | p/ghc/debian/patches/always_build_arm_spinlocks.patch | 69 | ||||
| -rw-r--r-- | p/ghc/debian/patches/dll-split-fix.patch | 192 | ||||
| -rw-r--r-- | p/ghc/debian/patches/linker-detection-fix | 40 | ||||
| -rw-r--r-- | p/ghc/debian/patches/saner-linker-opt-handling | 32 | ||||
| -rw-r--r-- | p/ghc/debian/patches/series | 4 |
7 files changed, 18 insertions, 390 deletions
diff --git a/p/ghc/debian/changelog b/p/ghc/debian/changelog index 3e38df024..4ba578e48 100644 --- a/p/ghc/debian/changelog +++ b/p/ghc/debian/changelog @@ -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@debian.org> Tue, 23 Dec 2014 15:26:41 +0100 diff --git a/p/ghc/debian/patches/TcSplice-no-GHCi-fix b/p/ghc/debian/patches/TcSplice-no-GHCi-fix deleted file mode 100644 index 74192d29a..000000000 --- a/p/ghc/debian/patches/TcSplice-no-GHCi-fix +++ /dev/null @@ -1,69 +0,0 @@ -From d996a1bb4db84727fbf1a8e9461a032e04e544e7 Mon Sep 17 00:00:00 2001 -From: Karel Gardas <karel.gardas@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 diff --git a/p/ghc/debian/patches/always_build_arm_spinlocks.patch b/p/ghc/debian/patches/always_build_arm_spinlocks.patch deleted file mode 100644 index 31acb911d..000000000 --- a/p/ghc/debian/patches/always_build_arm_spinlocks.patch +++ /dev/null @@ -1,69 +0,0 @@ -commit e42f158ddc7b4d1d2ca41bd62fc9432030889ac7 -Author: Joachim Breitner <mail@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 --git a/p/ghc/debian/patches/dll-split-fix.patch b/p/ghc/debian/patches/dll-split-fix.patch deleted file mode 100644 index 6e33dffde..000000000 --- a/p/ghc/debian/patches/dll-split-fix.patch +++ /dev/null @@ -1,192 +0,0 @@ -commit 2a8ea4745d6ff79d6ce17961a64d9013243fc3c6 -Author: Sergei Trofimovich <slyfox@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@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 --git a/p/ghc/debian/patches/linker-detection-fix b/p/ghc/debian/patches/linker-detection-fix deleted file mode 100644 index 7cb5c639c..000000000 --- a/p/ghc/debian/patches/linker-detection-fix +++ /dev/null @@ -1,40 +0,0 @@ -commit e7b414a3cc0e27049f2608f5e0a00c47146cc46d -Author: Sebastian Dröge <sebastian@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@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 --git a/p/ghc/debian/patches/saner-linker-opt-handling b/p/ghc/debian/patches/saner-linker-opt-handling index 9c6342adf..ed4621b3a 100644 --- a/p/ghc/debian/patches/saner-linker-opt-handling +++ b/p/ghc/debian/patches/saner-linker-opt-handling @@ -13,11 +13,11 @@ where -fuse-ld=gold caused problems. 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 @@ Index: ghc-7.8.3.20141119/libffi/ghc.mk "$(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 @@ Index: ghc-7.8.3.20141119/mk/config.mk.in 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 @@ Index: ghc-7.8.3.20141119/rules/build-package-data.mk $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 @@ Index: ghc-7.8.3.20141119/rules/distdir-opts.mk $$(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 --git a/p/ghc/debian/patches/series b/p/ghc/debian/patches/series index 7f792b90b..031eb8d93 100644 --- a/p/ghc/debian/patches/series +++ b/p/ghc/debian/patches/series @@ -4,9 +4,5 @@ no-missing-haddock-file-warning 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 |
