[GHC] #8229: Linking in Windows is slow

GHC ghc-devs at haskell.org
Thu Sep 5 05:23:53 CEST 2013


#8229: Linking in Windows is slow
-------------------------------------------------+-------------------------
        Reporter:  ezyang                        |            Owner:
            Type:  bug                           |           Status:  new
        Priority:  normal                        |        Milestone:  7.8.1
       Component:  Compiler                      |          Version:  7.7
      Resolution:                                |         Keywords:
Operating System:  Windows                       |     Architecture:
 Type of failure:  Compile-time performance bug  |  x86_64 (amd64)
       Test Case:                                |       Difficulty:
        Blocking:                                |  Unknown
                                                 |       Blocked By:
                                                 |  Related Tickets:
-------------------------------------------------+-------------------------
Description changed by ezyang:

Old description:

> It takes a long time to link ghc-stage2 on Windows; several minutes on
> what should be a pretty beefy machine. Here is the linker command:
>
> {{{
> "C:\Users\ezyang\Dev\ghc-validate\inplace\lib/../mingw/bin/gcc.exe"
> "-U__i686" "-fno-stack-prot
> ector" "-DTABLES_NEXT_TO_CODE" "-o"
> "compiler/stage2/build/libHSghc-7.7.20130904-ghc7.7.2013090
> 4.dll" "-shared" "-Wl,--out-
> implib=compiler/stage2/build/libHSghc-7.7.20130904-ghc7.7.20130904.
> dll.a" "-Wl,--enable-auto-import" "compiler\stage2\build\GhcMonad.dyn_o"
> "compiler\stage2\build
> \Llvm.dyn_o" "compiler\stage2\build\Llvm\AbsSyn.dyn_o"
> "compiler\stage2\build\Llvm\MetaData.dyn
> _o" "compiler\stage2\build\Llvm\PpLlvm.dyn_o"
> "compiler\stage2\build\Llvm\Types.dyn_o" "compile
> r\stage2\build\LlvmCodeGen.dyn_o"
> "compiler\stage2\build\LlvmCodeGen\Base.dyn_o" "compiler\stag
> e2\build\LlvmCodeGen\CodeGen.dyn_o"
> "compiler\stage2\build\LlvmCodeGen\Data.dyn_o" "compiler\st
> age2\build\LlvmCodeGen\Ppr.dyn_o"
> "compiler\stage2\build\LlvmCodeGen\Regs.dyn_o" "compiler\stag
> e2\build\LlvmMangler.dyn_o"
> "compiler\stage2\build\CmmBuildInfoTables.dyn_o" "compiler\stage2\b
> uild\CmmPipeline.dyn_o" "compiler\stage2\build\CmmCommonBlockElim.dyn_o"
> "compiler\stage2\build
> \CmmContFlowOpt.dyn_o" "compiler\stage2\build\CmmLex.dyn_o"
> "compiler\stage2\build\CmmLint.dyn_
> o" "compiler\stage2\build\CmmLive.dyn_o"
> "compiler\stage2\build\CmmOpt.dyn_o" "compiler\stage2\
> build\CmmParse.dyn_o" "compiler\stage2\build\CmmProcPoint.dyn_o"
> "compiler\stage2\build\CmmRewr
> iteAssignments.dyn_o" "compiler\stage2\build\CmmSink.dyn_o"
> "compiler\stage2\build\CmmLayoutSta
> ck.dyn_o" "compiler\stage2\build\PprBase.dyn_o"
> "compiler\stage2\build\PprC.dyn_o" "compiler\st
> age2\build\CgUtils.dyn_o" "compiler\stage2\build\StgCmm.dyn_o"
> "compiler\stage2\build\StgCmmBin
> d.dyn_o" "compiler\stage2\build\StgCmmCon.dyn_o"
> "compiler\stage2\build\StgCmmExpr.dyn_o" "comp
> iler\stage2\build\StgCmmForeign.dyn_o"
> "compiler\stage2\build\StgCmmHeap.dyn_o" "compiler\stage
> 2\build\StgCmmHpc.dyn_o" "compiler\stage2\build\StgCmmPrim.dyn_o"
> "compiler\stage2\build\StgCmm
> ExtCode.dyn_o" "compiler\stage2\build\CoreLint.dyn_o"
> "compiler\stage2\build\CorePrep.dyn_o" "c
> ompiler\stage2\build\ExternalCore.dyn_o"
> "compiler\stage2\build\MkExternalCore.dyn_o" "compiler
> \stage2\build\PprExternalCore.dyn_o" "compiler\stage2\build\Check.dyn_o"
> "compiler\stage2\build
> \Coverage.dyn_o" "compiler\stage2\build\Desugar.dyn_o"
> "compiler\stage2\build\DsArrows.dyn_o" "
> compiler\stage2\build\DsBinds.dyn_o"
> "compiler\stage2\build\DsCCall.dyn_o" "compiler\stage2\bui
> ld\DsExpr.dyn_o" "compiler\stage2\build\DsForeign.dyn_o"
> "compiler\stage2\build\DsGRHSs.dyn_o"
> "compiler\stage2\build\DsListComp.dyn_o"
> "compiler\stage2\build\DsMonad.dyn_o" "compiler\stage2
> \build\DsUtils.dyn_o" "compiler\stage2\build\Match.dyn_o"
> "compiler\stage2\build\MatchCon.dyn_o
> " "compiler\stage2\build\MatchLit.dyn_o"
> "compiler\stage2\build\BinIface.dyn_o" "compiler\stage
> 2\build\BuildTyCl.dyn_o" "compiler\stage2\build\IfaceEnv.dyn_o"
> "compiler\stage2\build\LoadIfac
> e.dyn_o" "compiler\stage2\build\MkIface.dyn_o"
> "compiler\stage2\build\TcIface.dyn_o" "compiler\
> stage2\build\FlagChecker.dyn_o" "compiler\stage2\build\CodeOutput.dyn_o"
> "compiler\stage2\build
> \DriverMkDepend.dyn_o" "compiler\stage2\build\DriverPipeline.dyn_o"
> "compiler\stage2\build\Find
> er.dyn_o" "compiler\stage2\build\GHC.dyn_o"
> "compiler\stage2\build\GhcMake.dyn_o" "compiler\sta
> ge2\build\GhcPlugins.dyn_o" "compiler\stage2\build\DynamicLoading.dyn_o"
> "compiler\stage2\build
> \HeaderInfo.dyn_o" "compiler\stage2\build\HscMain.dyn_o"
> "compiler\stage2\build\HscStats.dyn_o"
>  "compiler\stage2\build\InteractiveEval.dyn_o"
> "compiler\stage2\build\PprTyThing.dyn_o" "compil
> er\stage2\build\SysTools.dyn_o" "compiler\stage2\build\TidyPgm.dyn_o"
> "compiler\stage2\build\Ct
> ype.dyn_o" "compiler\stage2\build\HaddockUtils.dyn_o"
> "compiler\stage2\build\LexCore.dyn_o" "co
> mpiler\stage2\build\Lexer.dyn_o" "compiler\stage2\build\Parser.dyn_o"
> "compiler\stage2\build\Pa
> rserCore.dyn_o" "compiler\stage2\build\ParserCoreUtils.dyn_o"
> "compiler\stage2\build\RdrHsSyn.d
> yn_o" "compiler\stage2\build\PrelInfo.dyn_o"
> "compiler\stage2\build\ProfInit.dyn_o" "compiler\s
> tage2\build\SCCfinal.dyn_o" "compiler\stage2\build\RnBinds.dyn_o"
> "compiler\stage2\build\RnEnv.
> dyn_o" "compiler\stage2\build\RnExpr.dyn_o"
> "compiler\stage2\build\RnHsDoc.dyn_o" "compiler\sta
> ge2\build\RnNames.dyn_o" "compiler\stage2\build\RnPat.dyn_o"
> "compiler\stage2\build\RnSource.dy
> n_o" "compiler\stage2\build\RnTypes.dyn_o"
> "compiler\stage2\build\CoreMonad.dyn_o" "compiler\st
> age2\build\CSE.dyn_o" "compiler\stage2\build\FloatIn.dyn_o"
> "compiler\stage2\build\FloatOut.dyn
> _o" "compiler\stage2\build\LiberateCase.dyn_o"
> "compiler\stage2\build\SAT.dyn_o" "compiler\stag
> e2\build\SetLevels.dyn_o" "compiler\stage2\build\SimplCore.dyn_o"
> "compiler\stage2\build\SimplE
> nv.dyn_o" "compiler\stage2\build\SimplMonad.dyn_o"
> "compiler\stage2\build\SimplUtils.dyn_o" "co
> mpiler\stage2\build\Simplify.dyn_o"
> "compiler\stage2\build\SimplStg.dyn_o" "compiler\stage2\bui
> ld\StgStats.dyn_o" "compiler\stage2\build\UnariseStg.dyn_o"
> "compiler\stage2\build\SpecConstr.d
> yn_o" "compiler\stage2\build\Specialise.dyn_o"
> "compiler\stage2\build\CoreToStg.dyn_o" "compile
> r\stage2\build\StgLint.dyn_o" "compiler\stage2\build\DmdAnal.dyn_o"
> "compiler\stage2\build\Work
> Wrap.dyn_o" "compiler\stage2\build\WwLib.dyn_o"
> "compiler\stage2\build\FamInst.dyn_o" "compiler
> \stage2\build\Inst.dyn_o" "compiler\stage2\build\TcAnnotations.dyn_o"
> "compiler\stage2\build\Tc
> Arrows.dyn_o" "compiler\stage2\build\TcBinds.dyn_o"
> "compiler\stage2\build\TcClassDcl.dyn_o" "c
> ompiler\stage2\build\TcDefaults.dyn_o"
> "compiler\stage2\build\TcDeriv.dyn_o" "compiler\stage2\b
> uild\TcEnv.dyn_o" "compiler\stage2\build\TcExpr.dyn_o"
> "compiler\stage2\build\TcForeign.dyn_o"
> "compiler\stage2\build\TcGenDeriv.dyn_o"
> "compiler\stage2\build\TcGenGenerics.dyn_o" "compiler\
> stage2\build\TcHsSyn.dyn_o" "compiler\stage2\build\TcHsType.dyn_o"
> "compiler\stage2\build\TcIns
> tDcls.dyn_o" "compiler\stage2\build\TcMType.dyn_o"
> "compiler\stage2\build\TcValidity.dyn_o" "co
> mpiler\stage2\build\TcMatches.dyn_o" "compiler\stage2\build\TcPat.dyn_o"
> "compiler\stage2\build
> \TcRnDriver.dyn_o" "compiler\stage2\build\TcRnMonad.dyn_o"
> "compiler\stage2\build\TcRnTypes.dyn
> _o" "compiler\stage2\build\TcRules.dyn_o"
> "compiler\stage2\build\TcSimplify.dyn_o" "compiler\st
> age2\build\TcErrors.dyn_o" "compiler\stage2\build\TcTyClsDecls.dyn_o"
> "compiler\stage2\build\Tc
> TyDecls.dyn_o" "compiler\stage2\build\TcUnify.dyn_o"
> "compiler\stage2\build\TcInteract.dyn_o" "
> compiler\stage2\build\TcCanonical.dyn_o"
> "compiler\stage2\build\TcSMonad.dyn_o" "compiler\stage
> 2\build\FunDeps.dyn_o" "compiler\stage2\build\GraphBase.dyn_o"
> "compiler\stage2\build\GraphColo
> r.dyn_o" "compiler\stage2\build\GraphOps.dyn_o"
> "compiler\stage2\build\GraphPpr.dyn_o" "compile
> r\stage2\build\IOEnv.dyn_o" "compiler\stage2\build\State.dyn_o"
> "compiler\stage2\build\Vectoris
> e\Builtins\Base.dyn_o"
> "compiler\stage2\build\Vectorise\Builtins\Initialise.dyn_o" "compiler\st
> age2\build\Vectorise\Builtins.dyn_o"
> "compiler\stage2\build\Vectorise\Monad\Base.dyn_o" "compil
> er\stage2\build\Vectorise\Monad\Naming.dyn_o"
> "compiler\stage2\build\Vectorise\Monad\Local.dyn_
> o" "compiler\stage2\build\Vectorise\Monad\Global.dyn_o"
> "compiler\stage2\build\Vectorise\Monad\
> InstEnv.dyn_o" "compiler\stage2\build\Vectorise\Monad.dyn_o"
> "compiler\stage2\build\Vectorise\U
> tils\Base.dyn_o" "compiler\stage2\build\Vectorise\Utils\Closure.dyn_o"
> "compiler\stage2\build\V
> ectorise\Utils\Hoisting.dyn_o"
> "compiler\stage2\build\Vectorise\Utils\PADict.dyn_o" "compiler\s
> tage2\build\Vectorise\Utils\Poly.dyn_o"
> "compiler\stage2\build\Vectorise\Utils.dyn_o" "compiler
> \stage2\build\Vectorise\Generic\Description.dyn_o"
> "compiler\stage2\build\Vectorise\Generic\PAM
> ethods.dyn_o" "compiler\stage2\build\Vectorise\Generic\PADict.dyn_o"
> "compiler\stage2\build\Vec
> torise\Generic\PData.dyn_o"
> "compiler\stage2\build\Vectorise\Type\Env.dyn_o" "compiler\stage2\b
> uild\Vectorise\Type\Type.dyn_o"
> "compiler\stage2\build\Vectorise\Type\TyConDecl.dyn_o" "compile
> r\stage2\build\Vectorise\Type\Classify.dyn_o"
> "compiler\stage2\build\Vectorise\Convert.dyn_o" "
> compiler\stage2\build\Vectorise\Vect.dyn_o"
> "compiler\stage2\build\Vectorise\Var.dyn_o" "compil
> er\stage2\build\Vectorise\Env.dyn_o"
> "compiler\stage2\build\Vectorise\Exp.dyn_o" "compiler\stag
> e2\build\Vectorise.dyn_o" "compiler\stage2\build\AsmCodeGen.dyn_o"
> "compiler\stage2\build\Targe
> tReg.dyn_o" "compiler\stage2\build\NCGMonad.dyn_o"
> "compiler\stage2\build\Instruction.dyn_o" "c
> ompiler\stage2\build\Size.dyn_o" "compiler\stage2\build\PIC.dyn_o"
> "compiler\stage2\build\CPrim
> .dyn_o" "compiler\stage2\build\X86\Regs.dyn_o"
> "compiler\stage2\build\X86\RegInfo.dyn_o" "compi
> ler\stage2\build\X86\Instr.dyn_o" "compiler\stage2\build\X86\Cond.dyn_o"
> "compiler\stage2\build
> \X86\Ppr.dyn_o" "compiler\stage2\build\X86\CodeGen.dyn_o"
> "compiler\stage2\build\PPC\Regs.dyn_o
> " "compiler\stage2\build\PPC\RegInfo.dyn_o"
> "compiler\stage2\build\PPC\Instr.dyn_o" "compiler\s
> tage2\build\PPC\Cond.dyn_o" "compiler\stage2\build\PPC\Ppr.dyn_o"
> "compiler\stage2\build\PPC\Co
> deGen.dyn_o" "compiler\stage2\build\SPARC\Base.dyn_o"
> "compiler\stage2\build\SPARC\Regs.dyn_o"
> "compiler\stage2\build\SPARC\Imm.dyn_o"
> "compiler\stage2\build\SPARC\AddrMode.dyn_o" "compiler\
> stage2\build\SPARC\Cond.dyn_o" "compiler\stage2\build\SPARC\Instr.dyn_o"
> "compiler\stage2\build
> \SPARC\Stack.dyn_o" "compiler\stage2\build\SPARC\ShortcutJump.dyn_o"
> "compiler\stage2\build\SPA
> RC\Ppr.dyn_o" "compiler\stage2\build\SPARC\CodeGen.dyn_o"
> "compiler\stage2\build\SPARC\CodeGen\
> Amode.dyn_o" "compiler\stage2\build\SPARC\CodeGen\Base.dyn_o"
> "compiler\stage2\build\SPARC\Code
> Gen\CondCode.dyn_o" "compiler\stage2\build\SPARC\CodeGen\Gen32.dyn_o"
> "compiler\stage2\build\SP
> ARC\CodeGen\Gen64.dyn_o"
> "compiler\stage2\build\SPARC\CodeGen\Sanity.dyn_o" "compiler\stage2\bu
> ild\SPARC\CodeGen\Expand.dyn_o"
> "compiler\stage2\build\RegAlloc\Liveness.dyn_o" "compiler\stage
> 2\build\RegAlloc\Graph\Main.dyn_o"
> "compiler\stage2\build\RegAlloc\Graph\Stats.dyn_o" "compiler
> \stage2\build\RegAlloc\Graph\ArchBase.dyn_o"
> "compiler\stage2\build\RegAlloc\Graph\ArchX86.dyn_
> o" "compiler\stage2\build\RegAlloc\Graph\Coalesce.dyn_o"
> "compiler\stage2\build\RegAlloc\Graph\
> Spill.dyn_o" "compiler\stage2\build\RegAlloc\Graph\SpillClean.dyn_o"
> "compiler\stage2\build\Reg
> Alloc\Graph\SpillCost.dyn_o"
> "compiler\stage2\build\RegAlloc\Graph\TrivColorable.dyn_o" "compil
> er\stage2\build\RegAlloc\Linear\Main.dyn_o"
> "compiler\stage2\build\RegAlloc\Linear\JoinToTarget
> s.dyn_o" "compiler\stage2\build\RegAlloc\Linear\State.dyn_o"
> "compiler\stage2\build\RegAlloc\Li
> near\Stats.dyn_o" "compiler\stage2\build\RegAlloc\Linear\FreeRegs.dyn_o"
> "compiler\stage2\build
> \RegAlloc\Linear\StackMap.dyn_o"
> "compiler\stage2\build\RegAlloc\Linear\Base.dyn_o" "compiler\s
> tage2\build\RegAlloc\Linear\X86\FreeRegs.dyn_o"
> "compiler\stage2\build\RegAlloc\Linear\X86_64\F
> reeRegs.dyn_o" "compiler\stage2\build\RegAlloc\Linear\PPC\FreeRegs.dyn_o"
> "compiler\stage2\buil
> d\RegAlloc\Linear\SPARC\FreeRegs.dyn_o"
> "compiler\stage2\build\DsMeta.dyn_o" "compiler\stage2\b
> uild\TcSplice.dyn_o" "compiler\stage2\build\Convert.dyn_o"
> "compiler\stage2\build\ByteCodeGen.d
> yn_o" "compiler\stage2\build\Debugger.dyn_o"
> "compiler\stage2\build\LibFFI.dyn_o" "compiler\sta
> ge2\build\Linker.dyn_o" "compiler\stage2\build\RtClosureInspect.dyn_o"
> "compiler\stage2\build\D
> ebuggerUtils.dyn_o" "compiler\stage2\build\parser\cutils.dyn_o"
> "compiler\stage2\build\ghci\kee
> pCAFsForGHCi.dyn_o" "compiler\stage2\build\cbits\genSym.dyn_o"
> "-lHSghc-7.7.20130904-0-ghc7.7.2
> 0130904.dll" "-Lcompiler/stage2/build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\transforme
> rs\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries
> \template-haskell\dist-inst
> all\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\hpc\dist-
> install\build" "-Lc:\Users\ez
> yang\Dev\ghc-validate\libraries\hoopl\dist-install\build"
> "-Lc:\Users\ezyang\Dev\ghc-validate\l
> ibraries\bin-package-db\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\binar
> y\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\Cabal\Cabal\dist-install\bu
> ild" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\process\dist-
> install\build" "-Lc:\Users\ezya
> ng\Dev\ghc-validate\libraries\pretty\dist-install\build"
> "-Lc:\Users\ezyang\Dev\ghc-validate\li
> braries\directory\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\time\dist-i
> nstall\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\old-locale
> \dist-install\build" "-Lc
> :\Users\ezyang\Dev\ghc-validate\libraries\filepath\dist-install\build"
> "-Lc:\Users\ezyang\Dev\g
> hc-validate\libraries\Win32\dist-install\build" "-Lc:\Users\ezyang\Dev
> \ghc-validate\libraries\c
> ontainers\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\bytestring\dist-ins
> tall\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\deepseq\dist-
> install\build" "-Lc:\Use
> rs\ezyang\Dev\ghc-validate\libraries\array\dist-install\build"
> "-Lc:\Users\ezyang\Dev\ghc-valid
> ate\libraries\base\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
> validate\libraries\integer-gm
> p\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\ghc-
> prim\dist-install\build
> " "-Lc:/Users/ezyang/Dev/ghc-validate/rts/dist/build"
> "-lHStransformers-0.3.0.0-ghc7.7.20130904
> " "-lHStemplate-haskell-2.9.0.0-ghc7.7.20130904"
> "-lHShpc-0.6.0.1-ghc7.7.20130904" "-lHShoopl-3
> .10.0.0-ghc7.7.20130904" "-lHSbin-package-db-0.0.0.0-ghc7.7.20130904"
> "-lHSbinary-0.7.1.0-ghc7.
> 7.20130904" "-lHSCabal-1.18.0-ghc7.7.20130904"
> "-lHSprocess-1.2.0.0-ghc7.7.20130904" "-lHSprett
> y-1.1.1.0-ghc7.7.20130904" "-lHSdirectory-1.2.0.1-ghc7.7.20130904"
> "-lHStime-1.4.1-ghc7.7.20130
> 904" "-lHSold-locale-1.0.0.5-ghc7.7.20130904"
> "-lHSfilepath-1.3.0.2-ghc7.7.20130904" "-lHSWin32
> -2.3.0.0-ghc7.7.20130904" "-lHScontainers-0.5.2.1-ghc7.7.20130904"
> "-lHSbytestring-0.10.3.0-ghc
> 7.7.20130904" "-lHSdeepseq-1.3.0.2-ghc7.7.20130904"
> "-lHSarray-0.4.0.2-ghc7.7.20130904" "-lHSba
> se-4.7.0.0-ghc7.7.20130904" "-lHSinteger-gmp-0.5.1.0-ghc7.7.20130904"
> "-lHSghc-prim-0.3.1.0-ghc
> 7.7.20130904" "-lHSrts_thr-ghc7.7.20130904" "-lffi-6" "-lkernel32"
> "-luser32" "-lgdi32" "-lwinm
> m" "-ladvapi32" "-lshell32" "-lshfolder" "-lwsock32" "-luser32"
> "-lshell32" "-lm" "-lwsock32" "
> -lgdi32" "-lwinmm" "-lmingwex"
> "-Wl,-u,_ghczmprim_GHCziTypes_Izh_static_info" "-Wl,-u,_ghczmpri
> m_GHCziTypes_Czh_static_info"
> "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_static_info" "-Wl,-u,_ghczmprim
> _GHCziTypes_Dzh_static_info" "-Wl,-u,_base_GHCziPtr_Ptr_static_info"
> "-Wl,-u,_ghczmprim_GHCziTy
> pes_Wzh_static_info" "-Wl,-u,_base_GHCziInt_I8zh_static_info"
> "-Wl,-u,_base_GHCziInt_I16zh_stat
> ic_info" "-Wl,-u,_base_GHCziInt_I32zh_static_info"
> "-Wl,-u,_base_GHCziInt_I64zh_static_info" "-
> Wl,-u,_base_GHCziWord_W8zh_static_info"
> "-Wl,-u,_base_GHCziWord_W16zh_static_info" "-Wl,-u,_bas
> e_GHCziWord_W32zh_static_info" "-Wl,-u,_base_GHCziWord_W64zh_static_info"
> "-Wl,-u,_base_GHCziSt
> able_StablePtr_static_info" "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
> "-Wl,-u,_ghczmprim_GHCz
> iTypes_Czh_con_info" "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
> "-Wl,-u,_ghczmprim_GHCziTypes_
> Dzh_con_info" "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
> "-Wl,-u,_base_GHCziPtr_FunPtr_con_info" "-Wl
> ,-u,_base_GHCziStable_StablePtr_con_info"
> "-Wl,-u,_ghczmprim_GHCziTypes_False_closure" "-Wl,-u,
> _ghczmprim_GHCziTypes_True_closure"
> "-Wl,-u,_base_GHCziPack_unpackCString_closure" "-Wl,-u,_bas
> e_GHCziIOziException_stackOverflow_closure"
> "-Wl,-u,_base_GHCziIOziException_heapOverflow_closu
> re" "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
> "-Wl,-u,_base_GHCziIOziExcep
> tion_blockedIndefinitelyOnMVar_closure"
> "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnS
> TM_closure"
> "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
> "-Wl,-u,_base_GHCz
> iWeak_runFinalizzerBatch_closure"
> "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure" "-Wl,-
> u,_base_GHCziTopHandler_runIO_closure"
> "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure" "-Wl,-u,
> _base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
> "-Wl,-u,_base_GHCziConcziIO_ioManagerCapa
> bilitiesChanged_closure" "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
> "-Wl,-u,_base_GHCziCo
> ncziSignal_runHandlers_closure" "-Wl,--hash-size=31" "-Wl,--reduce-
> memory-overheads"
> }}}

New description:

 It takes a long time to link ghc-stage2 on Windows; several minutes on
 what should be a pretty beefy machine. Here is the linker command:

 {{{
 "C:\Users\ezyang\Dev\ghc-validate\inplace\lib/../mingw/bin/gcc.exe"
 "-U__i686" "-fno-stack-prot
 ector" "-DTABLES_NEXT_TO_CODE" "-o"
 "compiler/stage2/build/libHSghc-7.7.20130904-ghc7.7.2013090
 4.dll" "-shared" "-Wl,--out-
 implib=compiler/stage2/build/libHSghc-7.7.20130904-ghc7.7.20130904.
 dll.a" "-Wl,--enable-auto-import" "compiler\stage2\build\GhcMonad.dyn_o"
 "compiler\stage2\build
 \Llvm.dyn_o" "compiler\stage2\build\Llvm\AbsSyn.dyn_o"
 "compiler\stage2\build\Llvm\MetaData.dyn
 _o" "compiler\stage2\build\Llvm\PpLlvm.dyn_o"
 "compiler\stage2\build\Llvm\Types.dyn_o" "compile
 r\stage2\build\LlvmCodeGen.dyn_o"
 "compiler\stage2\build\LlvmCodeGen\Base.dyn_o" "compiler\stag
 e2\build\LlvmCodeGen\CodeGen.dyn_o"
 "compiler\stage2\build\LlvmCodeGen\Data.dyn_o" "compiler\st
 age2\build\LlvmCodeGen\Ppr.dyn_o"
 "compiler\stage2\build\LlvmCodeGen\Regs.dyn_o" "compiler\stag
 e2\build\LlvmMangler.dyn_o"
 "compiler\stage2\build\CmmBuildInfoTables.dyn_o" "compiler\stage2\b
 uild\CmmPipeline.dyn_o" "compiler\stage2\build\CmmCommonBlockElim.dyn_o"
 "compiler\stage2\build
 \CmmContFlowOpt.dyn_o" "compiler\stage2\build\CmmLex.dyn_o"
 "compiler\stage2\build\CmmLint.dyn_
 o" "compiler\stage2\build\CmmLive.dyn_o"
 "compiler\stage2\build\CmmOpt.dyn_o" "compiler\stage2\
 build\CmmParse.dyn_o" "compiler\stage2\build\CmmProcPoint.dyn_o"
 "compiler\stage2\build\CmmRewr
 iteAssignments.dyn_o" "compiler\stage2\build\CmmSink.dyn_o"
 "compiler\stage2\build\CmmLayoutSta
 ck.dyn_o" "compiler\stage2\build\PprBase.dyn_o"
 "compiler\stage2\build\PprC.dyn_o" "compiler\st
 age2\build\CgUtils.dyn_o" "compiler\stage2\build\StgCmm.dyn_o"
 "compiler\stage2\build\StgCmmBin
 d.dyn_o" "compiler\stage2\build\StgCmmCon.dyn_o"
 "compiler\stage2\build\StgCmmExpr.dyn_o" "comp
 iler\stage2\build\StgCmmForeign.dyn_o"
 "compiler\stage2\build\StgCmmHeap.dyn_o" "compiler\stage
 2\build\StgCmmHpc.dyn_o" "compiler\stage2\build\StgCmmPrim.dyn_o"
 "compiler\stage2\build\StgCmm
 ExtCode.dyn_o" "compiler\stage2\build\CoreLint.dyn_o"
 "compiler\stage2\build\CorePrep.dyn_o" "c
 ompiler\stage2\build\ExternalCore.dyn_o"
 "compiler\stage2\build\MkExternalCore.dyn_o" "compiler
 \stage2\build\PprExternalCore.dyn_o" "compiler\stage2\build\Check.dyn_o"
 "compiler\stage2\build
 \Coverage.dyn_o" "compiler\stage2\build\Desugar.dyn_o"
 "compiler\stage2\build\DsArrows.dyn_o" "
 compiler\stage2\build\DsBinds.dyn_o" "compiler\stage2\build\DsCCall.dyn_o"
 "compiler\stage2\bui
 ld\DsExpr.dyn_o" "compiler\stage2\build\DsForeign.dyn_o"
 "compiler\stage2\build\DsGRHSs.dyn_o"
 "compiler\stage2\build\DsListComp.dyn_o"
 "compiler\stage2\build\DsMonad.dyn_o" "compiler\stage2
 \build\DsUtils.dyn_o" "compiler\stage2\build\Match.dyn_o"
 "compiler\stage2\build\MatchCon.dyn_o
 " "compiler\stage2\build\MatchLit.dyn_o"
 "compiler\stage2\build\BinIface.dyn_o" "compiler\stage
 2\build\BuildTyCl.dyn_o" "compiler\stage2\build\IfaceEnv.dyn_o"
 "compiler\stage2\build\LoadIfac
 e.dyn_o" "compiler\stage2\build\MkIface.dyn_o"
 "compiler\stage2\build\TcIface.dyn_o" "compiler\
 stage2\build\FlagChecker.dyn_o" "compiler\stage2\build\CodeOutput.dyn_o"
 "compiler\stage2\build
 \DriverMkDepend.dyn_o" "compiler\stage2\build\DriverPipeline.dyn_o"
 "compiler\stage2\build\Find
 er.dyn_o" "compiler\stage2\build\GHC.dyn_o"
 "compiler\stage2\build\GhcMake.dyn_o" "compiler\sta
 ge2\build\GhcPlugins.dyn_o" "compiler\stage2\build\DynamicLoading.dyn_o"
 "compiler\stage2\build
 \HeaderInfo.dyn_o" "compiler\stage2\build\HscMain.dyn_o"
 "compiler\stage2\build\HscStats.dyn_o"
  "compiler\stage2\build\InteractiveEval.dyn_o"
 "compiler\stage2\build\PprTyThing.dyn_o" "compil
 er\stage2\build\SysTools.dyn_o" "compiler\stage2\build\TidyPgm.dyn_o"
 "compiler\stage2\build\Ct
 ype.dyn_o" "compiler\stage2\build\HaddockUtils.dyn_o"
 "compiler\stage2\build\LexCore.dyn_o" "co
 mpiler\stage2\build\Lexer.dyn_o" "compiler\stage2\build\Parser.dyn_o"
 "compiler\stage2\build\Pa
 rserCore.dyn_o" "compiler\stage2\build\ParserCoreUtils.dyn_o"
 "compiler\stage2\build\RdrHsSyn.d
 yn_o" "compiler\stage2\build\PrelInfo.dyn_o"
 "compiler\stage2\build\ProfInit.dyn_o" "compiler\s
 tage2\build\SCCfinal.dyn_o" "compiler\stage2\build\RnBinds.dyn_o"
 "compiler\stage2\build\RnEnv.
 dyn_o" "compiler\stage2\build\RnExpr.dyn_o"
 "compiler\stage2\build\RnHsDoc.dyn_o" "compiler\sta
 ge2\build\RnNames.dyn_o" "compiler\stage2\build\RnPat.dyn_o"
 "compiler\stage2\build\RnSource.dy
 n_o" "compiler\stage2\build\RnTypes.dyn_o"
 "compiler\stage2\build\CoreMonad.dyn_o" "compiler\st
 age2\build\CSE.dyn_o" "compiler\stage2\build\FloatIn.dyn_o"
 "compiler\stage2\build\FloatOut.dyn
 _o" "compiler\stage2\build\LiberateCase.dyn_o"
 "compiler\stage2\build\SAT.dyn_o" "compiler\stag
 e2\build\SetLevels.dyn_o" "compiler\stage2\build\SimplCore.dyn_o"
 "compiler\stage2\build\SimplE
 nv.dyn_o" "compiler\stage2\build\SimplMonad.dyn_o"
 "compiler\stage2\build\SimplUtils.dyn_o" "co
 mpiler\stage2\build\Simplify.dyn_o" "compiler\stage2\build\SimplStg.dyn_o"
 "compiler\stage2\bui
 ld\StgStats.dyn_o" "compiler\stage2\build\UnariseStg.dyn_o"
 "compiler\stage2\build\SpecConstr.d
 yn_o" "compiler\stage2\build\Specialise.dyn_o"
 "compiler\stage2\build\CoreToStg.dyn_o" "compile
 r\stage2\build\StgLint.dyn_o" "compiler\stage2\build\DmdAnal.dyn_o"
 "compiler\stage2\build\Work
 Wrap.dyn_o" "compiler\stage2\build\WwLib.dyn_o"
 "compiler\stage2\build\FamInst.dyn_o" "compiler
 \stage2\build\Inst.dyn_o" "compiler\stage2\build\TcAnnotations.dyn_o"
 "compiler\stage2\build\Tc
 Arrows.dyn_o" "compiler\stage2\build\TcBinds.dyn_o"
 "compiler\stage2\build\TcClassDcl.dyn_o" "c
 ompiler\stage2\build\TcDefaults.dyn_o"
 "compiler\stage2\build\TcDeriv.dyn_o" "compiler\stage2\b
 uild\TcEnv.dyn_o" "compiler\stage2\build\TcExpr.dyn_o"
 "compiler\stage2\build\TcForeign.dyn_o"
 "compiler\stage2\build\TcGenDeriv.dyn_o"
 "compiler\stage2\build\TcGenGenerics.dyn_o" "compiler\
 stage2\build\TcHsSyn.dyn_o" "compiler\stage2\build\TcHsType.dyn_o"
 "compiler\stage2\build\TcIns
 tDcls.dyn_o" "compiler\stage2\build\TcMType.dyn_o"
 "compiler\stage2\build\TcValidity.dyn_o" "co
 mpiler\stage2\build\TcMatches.dyn_o" "compiler\stage2\build\TcPat.dyn_o"
 "compiler\stage2\build
 \TcRnDriver.dyn_o" "compiler\stage2\build\TcRnMonad.dyn_o"
 "compiler\stage2\build\TcRnTypes.dyn
 _o" "compiler\stage2\build\TcRules.dyn_o"
 "compiler\stage2\build\TcSimplify.dyn_o" "compiler\st
 age2\build\TcErrors.dyn_o" "compiler\stage2\build\TcTyClsDecls.dyn_o"
 "compiler\stage2\build\Tc
 TyDecls.dyn_o" "compiler\stage2\build\TcUnify.dyn_o"
 "compiler\stage2\build\TcInteract.dyn_o" "
 compiler\stage2\build\TcCanonical.dyn_o"
 "compiler\stage2\build\TcSMonad.dyn_o" "compiler\stage
 2\build\FunDeps.dyn_o" "compiler\stage2\build\GraphBase.dyn_o"
 "compiler\stage2\build\GraphColo
 r.dyn_o" "compiler\stage2\build\GraphOps.dyn_o"
 "compiler\stage2\build\GraphPpr.dyn_o" "compile
 r\stage2\build\IOEnv.dyn_o" "compiler\stage2\build\State.dyn_o"
 "compiler\stage2\build\Vectoris
 e\Builtins\Base.dyn_o"
 "compiler\stage2\build\Vectorise\Builtins\Initialise.dyn_o" "compiler\st
 age2\build\Vectorise\Builtins.dyn_o"
 "compiler\stage2\build\Vectorise\Monad\Base.dyn_o" "compil
 er\stage2\build\Vectorise\Monad\Naming.dyn_o"
 "compiler\stage2\build\Vectorise\Monad\Local.dyn_
 o" "compiler\stage2\build\Vectorise\Monad\Global.dyn_o"
 "compiler\stage2\build\Vectorise\Monad\
 InstEnv.dyn_o" "compiler\stage2\build\Vectorise\Monad.dyn_o"
 "compiler\stage2\build\Vectorise\U
 tils\Base.dyn_o" "compiler\stage2\build\Vectorise\Utils\Closure.dyn_o"
 "compiler\stage2\build\V
 ectorise\Utils\Hoisting.dyn_o"
 "compiler\stage2\build\Vectorise\Utils\PADict.dyn_o" "compiler\s
 tage2\build\Vectorise\Utils\Poly.dyn_o"
 "compiler\stage2\build\Vectorise\Utils.dyn_o" "compiler
 \stage2\build\Vectorise\Generic\Description.dyn_o"
 "compiler\stage2\build\Vectorise\Generic\PAM
 ethods.dyn_o" "compiler\stage2\build\Vectorise\Generic\PADict.dyn_o"
 "compiler\stage2\build\Vec
 torise\Generic\PData.dyn_o"
 "compiler\stage2\build\Vectorise\Type\Env.dyn_o" "compiler\stage2\b
 uild\Vectorise\Type\Type.dyn_o"
 "compiler\stage2\build\Vectorise\Type\TyConDecl.dyn_o" "compile
 r\stage2\build\Vectorise\Type\Classify.dyn_o"
 "compiler\stage2\build\Vectorise\Convert.dyn_o" "
 compiler\stage2\build\Vectorise\Vect.dyn_o"
 "compiler\stage2\build\Vectorise\Var.dyn_o" "compil
 er\stage2\build\Vectorise\Env.dyn_o"
 "compiler\stage2\build\Vectorise\Exp.dyn_o" "compiler\stag
 e2\build\Vectorise.dyn_o" "compiler\stage2\build\AsmCodeGen.dyn_o"
 "compiler\stage2\build\Targe
 tReg.dyn_o" "compiler\stage2\build\NCGMonad.dyn_o"
 "compiler\stage2\build\Instruction.dyn_o" "c
 ompiler\stage2\build\Size.dyn_o" "compiler\stage2\build\PIC.dyn_o"
 "compiler\stage2\build\CPrim
 .dyn_o" "compiler\stage2\build\X86\Regs.dyn_o"
 "compiler\stage2\build\X86\RegInfo.dyn_o" "compi
 ler\stage2\build\X86\Instr.dyn_o" "compiler\stage2\build\X86\Cond.dyn_o"
 "compiler\stage2\build
 \X86\Ppr.dyn_o" "compiler\stage2\build\X86\CodeGen.dyn_o"
 "compiler\stage2\build\PPC\Regs.dyn_o
 " "compiler\stage2\build\PPC\RegInfo.dyn_o"
 "compiler\stage2\build\PPC\Instr.dyn_o" "compiler\s
 tage2\build\PPC\Cond.dyn_o" "compiler\stage2\build\PPC\Ppr.dyn_o"
 "compiler\stage2\build\PPC\Co
 deGen.dyn_o" "compiler\stage2\build\SPARC\Base.dyn_o"
 "compiler\stage2\build\SPARC\Regs.dyn_o"
 "compiler\stage2\build\SPARC\Imm.dyn_o"
 "compiler\stage2\build\SPARC\AddrMode.dyn_o" "compiler\
 stage2\build\SPARC\Cond.dyn_o" "compiler\stage2\build\SPARC\Instr.dyn_o"
 "compiler\stage2\build
 \SPARC\Stack.dyn_o" "compiler\stage2\build\SPARC\ShortcutJump.dyn_o"
 "compiler\stage2\build\SPA
 RC\Ppr.dyn_o" "compiler\stage2\build\SPARC\CodeGen.dyn_o"
 "compiler\stage2\build\SPARC\CodeGen\
 Amode.dyn_o" "compiler\stage2\build\SPARC\CodeGen\Base.dyn_o"
 "compiler\stage2\build\SPARC\Code
 Gen\CondCode.dyn_o" "compiler\stage2\build\SPARC\CodeGen\Gen32.dyn_o"
 "compiler\stage2\build\SP
 ARC\CodeGen\Gen64.dyn_o"
 "compiler\stage2\build\SPARC\CodeGen\Sanity.dyn_o" "compiler\stage2\bu
 ild\SPARC\CodeGen\Expand.dyn_o"
 "compiler\stage2\build\RegAlloc\Liveness.dyn_o" "compiler\stage
 2\build\RegAlloc\Graph\Main.dyn_o"
 "compiler\stage2\build\RegAlloc\Graph\Stats.dyn_o" "compiler
 \stage2\build\RegAlloc\Graph\ArchBase.dyn_o"
 "compiler\stage2\build\RegAlloc\Graph\ArchX86.dyn_
 o" "compiler\stage2\build\RegAlloc\Graph\Coalesce.dyn_o"
 "compiler\stage2\build\RegAlloc\Graph\
 Spill.dyn_o" "compiler\stage2\build\RegAlloc\Graph\SpillClean.dyn_o"
 "compiler\stage2\build\Reg
 Alloc\Graph\SpillCost.dyn_o"
 "compiler\stage2\build\RegAlloc\Graph\TrivColorable.dyn_o" "compil
 er\stage2\build\RegAlloc\Linear\Main.dyn_o"
 "compiler\stage2\build\RegAlloc\Linear\JoinToTarget
 s.dyn_o" "compiler\stage2\build\RegAlloc\Linear\State.dyn_o"
 "compiler\stage2\build\RegAlloc\Li
 near\Stats.dyn_o" "compiler\stage2\build\RegAlloc\Linear\FreeRegs.dyn_o"
 "compiler\stage2\build
 \RegAlloc\Linear\StackMap.dyn_o"
 "compiler\stage2\build\RegAlloc\Linear\Base.dyn_o" "compiler\s
 tage2\build\RegAlloc\Linear\X86\FreeRegs.dyn_o"
 "compiler\stage2\build\RegAlloc\Linear\X86_64\F
 reeRegs.dyn_o" "compiler\stage2\build\RegAlloc\Linear\PPC\FreeRegs.dyn_o"
 "compiler\stage2\buil
 d\RegAlloc\Linear\SPARC\FreeRegs.dyn_o"
 "compiler\stage2\build\DsMeta.dyn_o" "compiler\stage2\b
 uild\TcSplice.dyn_o" "compiler\stage2\build\Convert.dyn_o"
 "compiler\stage2\build\ByteCodeGen.d
 yn_o" "compiler\stage2\build\Debugger.dyn_o"
 "compiler\stage2\build\LibFFI.dyn_o" "compiler\sta
 ge2\build\Linker.dyn_o" "compiler\stage2\build\RtClosureInspect.dyn_o"
 "compiler\stage2\build\D
 ebuggerUtils.dyn_o" "compiler\stage2\build\parser\cutils.dyn_o"
 "compiler\stage2\build\ghci\kee
 pCAFsForGHCi.dyn_o" "compiler\stage2\build\cbits\genSym.dyn_o"
 "-lHSghc-7.7.20130904-0-ghc7.7.2
 0130904.dll" "-Lcompiler/stage2/build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\transforme
 rs\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries
 \template-haskell\dist-inst
 all\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\hpc\dist-
 install\build" "-Lc:\Users\ez
 yang\Dev\ghc-validate\libraries\hoopl\dist-install\build"
 "-Lc:\Users\ezyang\Dev\ghc-validate\l
 ibraries\bin-package-db\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\binar
 y\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\Cabal\Cabal\dist-install\bu
 ild" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\process\dist-
 install\build" "-Lc:\Users\ezya
 ng\Dev\ghc-validate\libraries\pretty\dist-install\build"
 "-Lc:\Users\ezyang\Dev\ghc-validate\li
 braries\directory\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\time\dist-i
 nstall\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\old-locale
 \dist-install\build" "-Lc
 :\Users\ezyang\Dev\ghc-validate\libraries\filepath\dist-install\build"
 "-Lc:\Users\ezyang\Dev\g
 hc-validate\libraries\Win32\dist-install\build" "-Lc:\Users\ezyang\Dev
 \ghc-validate\libraries\c
 ontainers\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\bytestring\dist-ins
 tall\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\deepseq\dist-
 install\build" "-Lc:\Use
 rs\ezyang\Dev\ghc-validate\libraries\array\dist-install\build"
 "-Lc:\Users\ezyang\Dev\ghc-valid
 ate\libraries\base\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-
 validate\libraries\integer-gm
 p\dist-install\build" "-Lc:\Users\ezyang\Dev\ghc-validate\libraries\ghc-
 prim\dist-install\build
 " "-Lc:/Users/ezyang/Dev/ghc-validate/rts/dist/build"
 "-lHStransformers-0.3.0.0-ghc7.7.20130904
 " "-lHStemplate-haskell-2.9.0.0-ghc7.7.20130904"
 "-lHShpc-0.6.0.1-ghc7.7.20130904" "-lHShoopl-3
 .10.0.0-ghc7.7.20130904" "-lHSbin-package-db-0.0.0.0-ghc7.7.20130904"
 "-lHSbinary-0.7.1.0-ghc7.
 7.20130904" "-lHSCabal-1.18.0-ghc7.7.20130904"
 "-lHSprocess-1.2.0.0-ghc7.7.20130904" "-lHSprett
 y-1.1.1.0-ghc7.7.20130904" "-lHSdirectory-1.2.0.1-ghc7.7.20130904"
 "-lHStime-1.4.1-ghc7.7.20130
 904" "-lHSold-locale-1.0.0.5-ghc7.7.20130904"
 "-lHSfilepath-1.3.0.2-ghc7.7.20130904" "-lHSWin32
 -2.3.0.0-ghc7.7.20130904" "-lHScontainers-0.5.2.1-ghc7.7.20130904"
 "-lHSbytestring-0.10.3.0-ghc
 7.7.20130904" "-lHSdeepseq-1.3.0.2-ghc7.7.20130904"
 "-lHSarray-0.4.0.2-ghc7.7.20130904" "-lHSba
 se-4.7.0.0-ghc7.7.20130904" "-lHSinteger-gmp-0.5.1.0-ghc7.7.20130904"
 "-lHSghc-prim-0.3.1.0-ghc
 7.7.20130904" "-lHSrts_thr-ghc7.7.20130904" "-lffi-6" "-lkernel32"
 "-luser32" "-lgdi32" "-lwinm
 m" "-ladvapi32" "-lshell32" "-lshfolder" "-lwsock32" "-luser32"
 "-lshell32" "-lm" "-lwsock32" "
 -lgdi32" "-lwinmm" "-lmingwex"
 "-Wl,-u,_ghczmprim_GHCziTypes_Izh_static_info" "-Wl,-u,_ghczmpri
 m_GHCziTypes_Czh_static_info"
 "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_static_info" "-Wl,-u,_ghczmprim
 _GHCziTypes_Dzh_static_info" "-Wl,-u,_base_GHCziPtr_Ptr_static_info"
 "-Wl,-u,_ghczmprim_GHCziTy
 pes_Wzh_static_info" "-Wl,-u,_base_GHCziInt_I8zh_static_info"
 "-Wl,-u,_base_GHCziInt_I16zh_stat
 ic_info" "-Wl,-u,_base_GHCziInt_I32zh_static_info"
 "-Wl,-u,_base_GHCziInt_I64zh_static_info" "-
 Wl,-u,_base_GHCziWord_W8zh_static_info"
 "-Wl,-u,_base_GHCziWord_W16zh_static_info" "-Wl,-u,_bas
 e_GHCziWord_W32zh_static_info" "-Wl,-u,_base_GHCziWord_W64zh_static_info"
 "-Wl,-u,_base_GHCziSt
 able_StablePtr_static_info" "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
 "-Wl,-u,_ghczmprim_GHCz
 iTypes_Czh_con_info" "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
 "-Wl,-u,_ghczmprim_GHCziTypes_
 Dzh_con_info" "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
 "-Wl,-u,_base_GHCziPtr_FunPtr_con_info" "-Wl
 ,-u,_base_GHCziStable_StablePtr_con_info"
 "-Wl,-u,_ghczmprim_GHCziTypes_False_closure" "-Wl,-u,
 _ghczmprim_GHCziTypes_True_closure"
 "-Wl,-u,_base_GHCziPack_unpackCString_closure" "-Wl,-u,_bas
 e_GHCziIOziException_stackOverflow_closure"
 "-Wl,-u,_base_GHCziIOziException_heapOverflow_closu
 re" "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
 "-Wl,-u,_base_GHCziIOziExcep
 tion_blockedIndefinitelyOnMVar_closure"
 "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnS
 TM_closure"
 "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
 "-Wl,-u,_base_GHCz
 iWeak_runFinalizzerBatch_closure"
 "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure" "-Wl,-
 u,_base_GHCziTopHandler_runIO_closure"
 "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure" "-Wl,-u,
 _base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
 "-Wl,-u,_base_GHCziConcziIO_ioManagerCapa
 bilitiesChanged_closure" "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
 "-Wl,-u,_base_GHCziCo
 ncziSignal_runHandlers_closure" "-Wl,--hash-size=31" "-Wl,--reduce-memory-
 overheads"
 }}}

 This guy took 7m57.574s to link on my box.

--

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8229#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler




More information about the ghc-tickets mailing list