#1958: collect2: ld terminated with signal 10 [Bus error]: Building parsec on a
PPC Mac OS X 10.5 Leopard as part of GHC 6.9
-------------------------+--------------------------------------------------
 Reporter:  thorkilnaur  |          Owner:  thorkilnaur
     Type:  bug          |         Status:  new        
 Priority:  high         |      Milestone:  6.8.3      
Component:  Compiler     |        Version:  6.9        
 Severity:  normal       |     Resolution:             
 Keywords:               |     Difficulty:  Unknown    
 Testcase:               |   Architecture:  powerpc    
       Os:  MacOS X      |  
-------------------------+--------------------------------------------------
Comment (by thorkilnaur):

 Trying a few combinations of compiler options shows: With
 {{{
 SRC_HC_OPTS   = -H32m -O2
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 }}}
 in mk/build.mk, the build ends with:
 {{{
 ../../compiler/stage1/ghc-inplace -package-name unix-2.2 -hide-all-
 packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build
 -Iinclude -#include "HsUnix.h" -#include "execvpe.h" -odir dist/build
 -hidir dist/build -stubdir dist/build -package base-3.0 -package
 directory-1.0 -O -XCPP -XForeignFunctionInterface -idist/build  -H32m -O2
 -c dist/build/System/Posix/Semaphore.hs -o
 dist/build/System/Posix/Semaphore.o  -ohi
 dist/build/System/Posix/Semaphore.hi
 collect2: ld terminated with signal 10 [Bus error]
 make[2]: *** [dist/build/System/Posix/Semaphore.o] Error 1
 make[1]: *** [make.library.unix] Error 2
 make: *** [stage1] Error 2
 }}}
 (The extra-packages are included in this build.) If I then change
 mk/build.mk to
 {{{
 SRC_HC_OPTS   = -H32m -O2
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 SplitObjs     = NO
 }}}
 the build ends with:
 {{{
 /usr/bin/ld -r -x -o HSghc.o  stage2/basicTypes/BasicTypes.o
 stage2/basicTypes/DataCon.o stage2/basicTypes/Demand.o
 stage2/basicTypes/Id.o stage2/basicTypes/IdInfo.o
 stage2/basicTypes/Literal.o stage2/basicTypes/MkId.o
 stage2/basicTypes/Module.o stage2/basicTypes/Name.o
 stage2/basicTypes/NameEnv.o stage2/basicTypes/NameSet.o
 stage2/basicTypes/NewDemand.o stage2/basicTypes/OccName.o
 stage2/basicTypes/RdrName.o stage2/basicTypes/SrcLoc.o
 stage2/basicTypes/UniqSupply.o stage2/basicTypes/Unique.o
 stage2/basicTypes/Var.o stage2/basicTypes/VarEnv.o
 stage2/basicTypes/VarSet.o stage2/cmm/CLabel.o stage2/cmm/Cmm.o
 stage2/cmm/CmmBrokenBlock.o stage2/cmm/CmmCPS.o stage2/cmm/CmmCPSGen.o
 stage2/cmm/CmmCPSZ.o stage2/cmm/CmmCallConv.o stage2/cmm/CmmContFlowOpt.o
 stage2/cmm/CmmCvt.o stage2/cmm/CmmExpr.o stage2/cmm/CmmInfo.o
 stage2/cmm/CmmLex.o stage2/cmm/CmmLint.o stage2/cmm/CmmLive.o
 stage2/cmm/CmmLiveZ.o stage2/cmm/CmmOpt.o stage2/cmm/CmmParse.o
 stage2/cmm/CmmProcPoint.o stage2/cmm/CmmProcPointZ.o
 stage2/cmm/CmmSpillReload.o stage2/cmm/CmmTx.o stage2/cmm/CmmUtils.o
 stage2/cmm/CmmZipUtil.o stage2/cmm/DFMonad.o stage2/cmm/Dataflow.o
 stage2/cmm/MachOp.o stage2/cmm/MkZipCfg.o stage2/cmm/MkZipCfgCmm.o
 stage2/cmm/OptimizationFuel.o stage2/cmm/PprC.o stage2/cmm/PprCmm.o
 stage2/cmm/PprCmmZ.o stage2/cmm/StackColor.o stage2/cmm/StackPlacements.o
 stage2/cmm/ZipCfg.o stage2/cmm/ZipCfgCmmRep.o stage2/cmm/ZipCfgExtras.o
 stage2/cmm/ZipDataflow0.o stage2/codeGen/Bitmap.o
 stage2/codeGen/CgBindery.o stage2/codeGen/CgCallConv.o
 stage2/codeGen/CgCase.o stage2/codeGen/CgClosure.o stage2/codeGen/CgCon.o
 stage2/codeGen/CgExpr.o stage2/codeGen/CgForeignCall.o
 stage2/codeGen/CgHeapery.o stage2/codeGen/CgHpc.o
 stage2/codeGen/CgInfoTbls.o stage2/codeGen/CgLetNoEscape.o
 stage2/codeGen/CgMonad.o stage2/codeGen/CgParallel.o
 stage2/codeGen/CgPrimOp.o stage2/codeGen/CgProf.o
 stage2/codeGen/CgStackery.o stage2/codeGen/CgTailCall.o
 stage2/codeGen/CgTicky.o stage2/codeGen/CgUtils.o
 stage2/codeGen/ClosureInfo.o stage2/codeGen/CodeGen.o
 stage2/codeGen/SMRep.o stage2/coreSyn/CoreFVs.o stage2/coreSyn/CoreLint.o
 stage2/coreSyn/CorePrep.o stage2/coreSyn/CoreSubst.o
 stage2/coreSyn/CoreSyn.o stage2/coreSyn/CoreTidy.o
 stage2/coreSyn/CoreUnfold.o stage2/coreSyn/CoreUtils.o
 stage2/coreSyn/ExternalCore.o stage2/coreSyn/MkExternalCore.o
 stage2/coreSyn/PprCore.o stage2/coreSyn/PprExternalCore.o
 stage2/cprAnalysis/CprAnalyse.o stage2/deSugar/Check.o
 stage2/deSugar/Coverage.o stage2/deSugar/Desugar.o
 stage2/deSugar/DsArrows.o stage2/deSugar/DsBinds.o
 stage2/deSugar/DsCCall.o stage2/deSugar/DsExpr.o
 stage2/deSugar/DsForeign.o stage2/deSugar/DsGRHSs.o
 stage2/deSugar/DsListComp.o stage2/deSugar/DsMeta.o
 stage2/deSugar/DsMonad.o stage2/deSugar/DsUtils.o stage2/deSugar/Match.o
 stage2/deSugar/MatchCon.o stage2/deSugar/MatchLit.o
 stage2/ghci/ByteCodeAsm.o stage2/ghci/ByteCodeFFI.o
 stage2/ghci/ByteCodeGen.o stage2/ghci/ByteCodeInstr.o
 stage2/ghci/ByteCodeItbls.o stage2/ghci/ByteCodeLink.o
 stage2/ghci/Debugger.o stage2/ghci/GhciMonad.o stage2/ghci/GhciTags.o
 stage2/ghci/InteractiveUI.o stage2/ghci/Linker.o stage2/ghci/ObjLink.o
 stage2/ghci/RtClosureInspect.o stage2/hsSyn/Convert.o
 stage2/hsSyn/HsBinds.o stage2/hsSyn/HsDecls.o stage2/hsSyn/HsDoc.o
 stage2/hsSyn/HsExpr.o stage2/hsSyn/HsImpExp.o stage2/hsSyn/HsLit.o
 stage2/hsSyn/HsPat.o stage2/hsSyn/HsSyn.o stage2/hsSyn/HsTypes.o
 stage2/hsSyn/HsUtils.o stage2/iface/BinIface.o stage2/iface/BuildTyCl.o
 stage2/iface/IfaceEnv.o stage2/iface/IfaceSyn.o stage2/iface/IfaceType.o
 stage2/iface/LoadIface.o stage2/iface/MkIface.o stage2/iface/TcIface.o
 stage2/main/BreakArray.o stage2/main/CmdLineParser.o
 stage2/main/CodeOutput.o stage2/main/Config.o stage2/main/Constants.o
 stage2/main/DriverMkDepend.o stage2/main/DriverPhases.o
 stage2/main/DriverPipeline.o stage2/main/DynFlags.o stage2/main/ErrUtils.o
 stage2/main/Finder.o stage2/main/GHC.o stage2/main/HeaderInfo.o
 stage2/main/HscMain.o stage2/main/HscStats.o stage2/main/HscTypes.o
 stage2/main/InteractiveEval.o stage2/main/PackageConfig.o
 stage2/main/Packages.o stage2/main/ParsePkgConf.o stage2/main/PprTyThing.o
 stage2/main/StaticFlags.o stage2/main/SysTools.o stage2/main/TidyPgm.o
 stage2/nativeGen/AsmCodeGen.o stage2/nativeGen/MachCodeGen.o
 stage2/nativeGen/MachInstrs.o stage2/nativeGen/MachRegs.o
 stage2/nativeGen/NCGMonad.o stage2/nativeGen/PositionIndependentCode.o
 stage2/nativeGen/PprMach.o stage2/nativeGen/RegAllocColor.o
 stage2/nativeGen/RegAllocInfo.o stage2/nativeGen/RegAllocLinear.o
 stage2/nativeGen/RegAllocStats.o stage2/nativeGen/RegArchBase.o
 stage2/nativeGen/RegArchX86.o stage2/nativeGen/RegCoalesce.o
 stage2/nativeGen/RegLiveness.o stage2/nativeGen/RegSpill.o
 stage2/nativeGen/RegSpillClean.o stage2/nativeGen/RegSpillCost.o
 stage2/ndpFlatten/FlattenInfo.o stage2/ndpFlatten/FlattenMonad.o
 stage2/ndpFlatten/Flattening.o stage2/ndpFlatten/NDPCoreUtils.o
 stage2/ndpFlatten/PArrAnal.o stage2/parser/Ctype.o
 stage2/parser/HaddockLex.o stage2/parser/HaddockParse.o
 stage2/parser/HaddockUtils.o stage2/parser/LexCore.o stage2/parser/Lexer.o
 stage2/parser/Parser.o stage2/parser/ParserCore.o
 stage2/parser/ParserCoreUtils.o stage2/parser/RdrHsSyn.o
 stage2/prelude/ForeignCall.o stage2/prelude/PrelInfo.o
 stage2/prelude/PrelNames.o stage2/prelude/PrelRules.o
 stage2/prelude/PrimOp.o stage2/prelude/TysPrim.o
 stage2/prelude/TysWiredIn.o stage2/profiling/CostCentre.o
 stage2/profiling/SCCfinal.o stage2/rename/RnBinds.o stage2/rename/RnEnv.o
 stage2/rename/RnExpr.o stage2/rename/RnHsDoc.o stage2/rename/RnHsSyn.o
 stage2/rename/RnNames.o stage2/rename/RnPat.o stage2/rename/RnSource.o
 stage2/rename/RnTypes.o stage2/simplCore/CSE.o stage2/simplCore/FloatIn.o
 stage2/simplCore/FloatOut.o stage2/simplCore/LiberateCase.o
 stage2/simplCore/OccurAnal.o stage2/simplCore/SAT.o
 stage2/simplCore/SATMonad.o stage2/simplCore/SetLevels.o
 stage2/simplCore/SimplCore.o stage2/simplCore/SimplEnv.o
 stage2/simplCore/SimplMonad.o stage2/simplCore/SimplUtils.o
 stage2/simplCore/Simplify.o stage2/simplStg/SRT.o
 stage2/simplStg/SimplStg.o stage2/simplStg/StgStats.o
 stage2/specialise/Rules.o stage2/specialise/SpecConstr.o
 stage2/specialise/Specialise.o stage2/stgSyn/CoreToStg.o
 stage2/stgSyn/StgLint.o stage2/stgSyn/StgSyn.o stage2/stranal/DmdAnal.o
 stage2/stranal/SaAbsInt.o stage2/stranal/SaLib.o
 stage2/stranal/StrictAnal.o stage2/stranal/WorkWrap.o
 stage2/stranal/WwLib.o stage2/typecheck/FamInst.o stage2/typecheck/Inst.o
 stage2/typecheck/TcArrows.o stage2/typecheck/TcBinds.o
 stage2/typecheck/TcClassDcl.o stage2/typecheck/TcDefaults.o
 stage2/typecheck/TcDeriv.o stage2/typecheck/TcEnv.o
 stage2/typecheck/TcExpr.o stage2/typecheck/TcForeign.o
 stage2/typecheck/TcGadt.o stage2/typecheck/TcGenDeriv.o
 stage2/typecheck/TcHsSyn.o stage2/typecheck/TcHsType.o
 stage2/typecheck/TcInstDcls.o stage2/typecheck/TcMType.o
 stage2/typecheck/TcMatches.o stage2/typecheck/TcPat.o
 stage2/typecheck/TcRnDriver.o stage2/typecheck/TcRnMonad.o
 stage2/typecheck/TcRnTypes.o stage2/typecheck/TcRules.o
 stage2/typecheck/TcSimplify.o stage2/typecheck/TcSplice.o
 stage2/typecheck/TcTyClsDecls.o stage2/typecheck/TcTyDecls.o
 stage2/typecheck/TcTyFuns.o stage2/typecheck/TcType.o
 stage2/typecheck/TcUnify.o stage2/types/Class.o stage2/types/Coercion.o
 stage2/types/FamInstEnv.o stage2/types/FunDeps.o stage2/types/Generics.o
 stage2/types/InstEnv.o stage2/types/TyCon.o stage2/types/Type.o
 stage2/types/TypeRep.o stage2/types/Unify.o stage2/utils/Bag.o
 stage2/utils/Binary.o stage2/utils/BufWrite.o stage2/utils/Digraph.o
 stage2/utils/Encoding.o stage2/utils/FastBool.o
 stage2/utils/FastFunctions.o stage2/utils/FastMutInt.o
 stage2/utils/FastString.o stage2/utils/FastTypes.o
 stage2/utils/FiniteMap.o stage2/utils/GraphBase.o
 stage2/utils/GraphColor.o stage2/utils/GraphOps.o stage2/utils/GraphPpr.o
 stage2/utils/IOEnv.o stage2/utils/Interval.o stage2/utils/ListSetOps.o
 stage2/utils/Maybes.o stage2/utils/OrdList.o stage2/utils/Outputable.o
 stage2/utils/Panic.o stage2/utils/Pretty.o stage2/utils/State.o
 stage2/utils/StringBuffer.o stage2/utils/UniqFM.o stage2/utils/UniqSet.o
 stage2/utils/Util.o stage2/vectorise/VectBuiltIn.o
 stage2/vectorise/VectCore.o stage2/vectorise/VectMonad.o
 stage2/vectorise/VectType.o stage2/vectorise/VectUtils.o
 stage2/vectorise/Vectorise.o stage2/parser/cutils.o
 make[2]: *** [HSghc.o] Bus error
 make[2]: *** Deleting file `HSghc.o'
 make[1]: *** [stage2] Error 2
 make: *** [bootstrap2] Error 2
 }}}
 Further, with
 {{{
 SRC_HC_OPTS   = -H32m -O2 -fvia-C
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 }}}
 in mk/build.mk, the result is
 {{{
 ../../compiler/stage1/ghc-inplace -package-name base-3.0 -hide-all-
 packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build
 -Iinclude -#include "HsBase.h" -odir dist/build -hidir dist/build -stubdir
 dist/build -package rts-1.0 -O -fglasgow-exts -package-name base -XCPP
 -idist/build  -H32m -O2 -fvia-C  -c Foreign/C/Error.hs -o
 dist/build/Foreign/C/Error.o  -ohi dist/build/Foreign/C/Error.hi
 /tmp/ghc13816_0/ghc13816_0.split__1.s:unknown:Undefined local symbol
 L_strerror$UNIX2003$stub
 make[2]: *** [dist/build/Foreign/C/Error.o] Error 1
 make[1]: *** [make.library.base] Error 2
 make: *** [stage1] Error 2
 }}}
 This could well be the same problem reported in
 http://hackage.haskell.org/trac/ghc/ticket/2012.  And, finally
 {{{
 SRC_HC_OPTS   = -H32m -O2 -fvia-C
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 SplitObjs     = NO
 }}}
 ends with
 {{{
 /usr/bin/ld -r -x -o HSghc.o  stage2/basicTypes/BasicTypes.o
 stage2/basicTypes/DataCon.o stage2/basicTypes/Demand.o
 stage2/basicTypes/Id.o stage2/basicTypes/IdInfo.o
 stage2/basicTypes/Literal.o stage2/basicTypes/MkId.o
 stage2/basicTypes/Module.o stage2/basicTypes/Name.o
 stage2/basicTypes/NameEnv.o stage2/basicTypes/NameSet.o
 stage2/basicTypes/NewDemand.o stage2/basicTypes/OccName.o
 stage2/basicTypes/RdrName.o stage2/basicTypes/SrcLoc.o
 stage2/basicTypes/UniqSupply.o stage2/basicTypes/Unique.o
 stage2/basicTypes/Var.o stage2/basicTypes/VarEnv.o
 stage2/basicTypes/VarSet.o stage2/cmm/CLabel.o stage2/cmm/Cmm.o
 stage2/cmm/CmmBrokenBlock.o stage2/cmm/CmmCPS.o stage2/cmm/CmmCPSGen.o
 stage2/cmm/CmmCPSZ.o stage2/cmm/CmmCallConv.o stage2/cmm/CmmContFlowOpt.o
 stage2/cmm/CmmCvt.o stage2/cmm/CmmExpr.o stage2/cmm/CmmInfo.o
 stage2/cmm/CmmLex.o stage2/cmm/CmmLint.o stage2/cmm/CmmLive.o
 stage2/cmm/CmmLiveZ.o stage2/cmm/CmmOpt.o stage2/cmm/CmmParse.o
 stage2/cmm/CmmProcPoint.o stage2/cmm/CmmProcPointZ.o
 stage2/cmm/CmmSpillReload.o stage2/cmm/CmmTx.o stage2/cmm/CmmUtils.o
 stage2/cmm/CmmZipUtil.o stage2/cmm/DFMonad.o stage2/cmm/Dataflow.o
 stage2/cmm/MachOp.o stage2/cmm/MkZipCfg.o stage2/cmm/MkZipCfgCmm.o
 stage2/cmm/OptimizationFuel.o stage2/cmm/PprC.o stage2/cmm/PprCmm.o
 stage2/cmm/PprCmmZ.o stage2/cmm/StackColor.o stage2/cmm/StackPlacements.o
 stage2/cmm/ZipCfg.o stage2/cmm/ZipCfgCmmRep.o stage2/cmm/ZipCfgExtras.o
 stage2/cmm/ZipDataflow0.o stage2/codeGen/Bitmap.o
 stage2/codeGen/CgBindery.o stage2/codeGen/CgCallConv.o
 stage2/codeGen/CgCase.o stage2/codeGen/CgClosure.o stage2/codeGen/CgCon.o
 stage2/codeGen/CgExpr.o stage2/codeGen/CgForeignCall.o
 stage2/codeGen/CgHeapery.o stage2/codeGen/CgHpc.o
 stage2/codeGen/CgInfoTbls.o stage2/codeGen/CgLetNoEscape.o
 stage2/codeGen/CgMonad.o stage2/codeGen/CgParallel.o
 stage2/codeGen/CgPrimOp.o stage2/codeGen/CgProf.o
 stage2/codeGen/CgStackery.o stage2/codeGen/CgTailCall.o
 stage2/codeGen/CgTicky.o stage2/codeGen/CgUtils.o
 stage2/codeGen/ClosureInfo.o stage2/codeGen/CodeGen.o
 stage2/codeGen/SMRep.o stage2/coreSyn/CoreFVs.o stage2/coreSyn/CoreLint.o
 stage2/coreSyn/CorePrep.o stage2/coreSyn/CoreSubst.o
 stage2/coreSyn/CoreSyn.o stage2/coreSyn/CoreTidy.o
 stage2/coreSyn/CoreUnfold.o stage2/coreSyn/CoreUtils.o
 stage2/coreSyn/ExternalCore.o stage2/coreSyn/MkExternalCore.o
 stage2/coreSyn/PprCore.o stage2/coreSyn/PprExternalCore.o
 stage2/cprAnalysis/CprAnalyse.o stage2/deSugar/Check.o
 stage2/deSugar/Coverage.o stage2/deSugar/Desugar.o
 stage2/deSugar/DsArrows.o stage2/deSugar/DsBinds.o
 stage2/deSugar/DsCCall.o stage2/deSugar/DsExpr.o
 stage2/deSugar/DsForeign.o stage2/deSugar/DsGRHSs.o
 stage2/deSugar/DsListComp.o stage2/deSugar/DsMeta.o
 stage2/deSugar/DsMonad.o stage2/deSugar/DsUtils.o stage2/deSugar/Match.o
 stage2/deSugar/MatchCon.o stage2/deSugar/MatchLit.o
 stage2/ghci/ByteCodeAsm.o stage2/ghci/ByteCodeFFI.o
 stage2/ghci/ByteCodeGen.o stage2/ghci/ByteCodeInstr.o
 stage2/ghci/ByteCodeItbls.o stage2/ghci/ByteCodeLink.o
 stage2/ghci/Debugger.o stage2/ghci/GhciMonad.o stage2/ghci/GhciTags.o
 stage2/ghci/InteractiveUI.o stage2/ghci/Linker.o stage2/ghci/ObjLink.o
 stage2/ghci/RtClosureInspect.o stage2/hsSyn/Convert.o
 stage2/hsSyn/HsBinds.o stage2/hsSyn/HsDecls.o stage2/hsSyn/HsDoc.o
 stage2/hsSyn/HsExpr.o stage2/hsSyn/HsImpExp.o stage2/hsSyn/HsLit.o
 stage2/hsSyn/HsPat.o stage2/hsSyn/HsSyn.o stage2/hsSyn/HsTypes.o
 stage2/hsSyn/HsUtils.o stage2/iface/BinIface.o stage2/iface/BuildTyCl.o
 stage2/iface/IfaceEnv.o stage2/iface/IfaceSyn.o stage2/iface/IfaceType.o
 stage2/iface/LoadIface.o stage2/iface/MkIface.o stage2/iface/TcIface.o
 stage2/main/BreakArray.o stage2/main/CmdLineParser.o
 stage2/main/CodeOutput.o stage2/main/Config.o stage2/main/Constants.o
 stage2/main/DriverMkDepend.o stage2/main/DriverPhases.o
 stage2/main/DriverPipeline.o stage2/main/DynFlags.o stage2/main/ErrUtils.o
 stage2/main/Finder.o stage2/main/GHC.o stage2/main/HeaderInfo.o
 stage2/main/HscMain.o stage2/main/HscStats.o stage2/main/HscTypes.o
 stage2/main/InteractiveEval.o stage2/main/PackageConfig.o
 stage2/main/Packages.o stage2/main/ParsePkgConf.o stage2/main/PprTyThing.o
 stage2/main/StaticFlags.o stage2/main/SysTools.o stage2/main/TidyPgm.o
 stage2/nativeGen/AsmCodeGen.o stage2/nativeGen/MachCodeGen.o
 stage2/nativeGen/MachInstrs.o stage2/nativeGen/MachRegs.o
 stage2/nativeGen/NCGMonad.o stage2/nativeGen/PositionIndependentCode.o
 stage2/nativeGen/PprMach.o stage2/nativeGen/RegAllocColor.o
 stage2/nativeGen/RegAllocInfo.o stage2/nativeGen/RegAllocLinear.o
 stage2/nativeGen/RegAllocStats.o stage2/nativeGen/RegArchBase.o
 stage2/nativeGen/RegArchX86.o stage2/nativeGen/RegCoalesce.o
 stage2/nativeGen/RegLiveness.o stage2/nativeGen/RegSpill.o
 stage2/nativeGen/RegSpillClean.o stage2/nativeGen/RegSpillCost.o
 stage2/ndpFlatten/FlattenInfo.o stage2/ndpFlatten/FlattenMonad.o
 stage2/ndpFlatten/Flattening.o stage2/ndpFlatten/NDPCoreUtils.o
 stage2/ndpFlatten/PArrAnal.o stage2/parser/Ctype.o
 stage2/parser/HaddockLex.o stage2/parser/HaddockParse.o
 stage2/parser/HaddockUtils.o stage2/parser/LexCore.o stage2/parser/Lexer.o
 stage2/parser/Parser.o stage2/parser/ParserCore.o
 stage2/parser/ParserCoreUtils.o stage2/parser/RdrHsSyn.o
 stage2/prelude/ForeignCall.o stage2/prelude/PrelInfo.o
 stage2/prelude/PrelNames.o stage2/prelude/PrelRules.o
 stage2/prelude/PrimOp.o stage2/prelude/TysPrim.o
 stage2/prelude/TysWiredIn.o stage2/profiling/CostCentre.o
 stage2/profiling/SCCfinal.o stage2/rename/RnBinds.o stage2/rename/RnEnv.o
 stage2/rename/RnExpr.o stage2/rename/RnHsDoc.o stage2/rename/RnHsSyn.o
 stage2/rename/RnNames.o stage2/rename/RnPat.o stage2/rename/RnSource.o
 stage2/rename/RnTypes.o stage2/simplCore/CSE.o stage2/simplCore/FloatIn.o
 stage2/simplCore/FloatOut.o stage2/simplCore/LiberateCase.o
 stage2/simplCore/OccurAnal.o stage2/simplCore/SAT.o
 stage2/simplCore/SATMonad.o stage2/simplCore/SetLevels.o
 stage2/simplCore/SimplCore.o stage2/simplCore/SimplEnv.o
 stage2/simplCore/SimplMonad.o stage2/simplCore/SimplUtils.o
 stage2/simplCore/Simplify.o stage2/simplStg/SRT.o
 stage2/simplStg/SimplStg.o stage2/simplStg/StgStats.o
 stage2/specialise/Rules.o stage2/specialise/SpecConstr.o
 stage2/specialise/Specialise.o stage2/stgSyn/CoreToStg.o
 stage2/stgSyn/StgLint.o stage2/stgSyn/StgSyn.o stage2/stranal/DmdAnal.o
 stage2/stranal/SaAbsInt.o stage2/stranal/SaLib.o
 stage2/stranal/StrictAnal.o stage2/stranal/WorkWrap.o
 stage2/stranal/WwLib.o stage2/typecheck/FamInst.o stage2/typecheck/Inst.o
 stage2/typecheck/TcArrows.o stage2/typecheck/TcBinds.o
 stage2/typecheck/TcClassDcl.o stage2/typecheck/TcDefaults.o
 stage2/typecheck/TcDeriv.o stage2/typecheck/TcEnv.o
 stage2/typecheck/TcExpr.o stage2/typecheck/TcForeign.o
 stage2/typecheck/TcGadt.o stage2/typecheck/TcGenDeriv.o
 stage2/typecheck/TcHsSyn.o stage2/typecheck/TcHsType.o
 stage2/typecheck/TcInstDcls.o stage2/typecheck/TcMType.o
 stage2/typecheck/TcMatches.o stage2/typecheck/TcPat.o
 stage2/typecheck/TcRnDriver.o stage2/typecheck/TcRnMonad.o
 stage2/typecheck/TcRnTypes.o stage2/typecheck/TcRules.o
 stage2/typecheck/TcSimplify.o stage2/typecheck/TcSplice.o
 stage2/typecheck/TcTyClsDecls.o stage2/typecheck/TcTyDecls.o
 stage2/typecheck/TcTyFuns.o stage2/typecheck/TcType.o
 stage2/typecheck/TcUnify.o stage2/types/Class.o stage2/types/Coercion.o
 stage2/types/FamInstEnv.o stage2/types/FunDeps.o stage2/types/Generics.o
 stage2/types/InstEnv.o stage2/types/TyCon.o stage2/types/Type.o
 stage2/types/TypeRep.o stage2/types/Unify.o stage2/utils/Bag.o
 stage2/utils/Binary.o stage2/utils/BufWrite.o stage2/utils/Digraph.o
 stage2/utils/Encoding.o stage2/utils/FastBool.o
 stage2/utils/FastFunctions.o stage2/utils/FastMutInt.o
 stage2/utils/FastString.o stage2/utils/FastTypes.o
 stage2/utils/FiniteMap.o stage2/utils/GraphBase.o
 stage2/utils/GraphColor.o stage2/utils/GraphOps.o stage2/utils/GraphPpr.o
 stage2/utils/IOEnv.o stage2/utils/Interval.o stage2/utils/ListSetOps.o
 stage2/utils/Maybes.o stage2/utils/OrdList.o stage2/utils/Outputable.o
 stage2/utils/Panic.o stage2/utils/Pretty.o stage2/utils/State.o
 stage2/utils/StringBuffer.o stage2/utils/UniqFM.o stage2/utils/UniqSet.o
 stage2/utils/Util.o stage2/vectorise/VectBuiltIn.o
 stage2/vectorise/VectCore.o stage2/vectorise/VectMonad.o
 stage2/vectorise/VectType.o stage2/vectorise/VectUtils.o
 stage2/vectorise/Vectorise.o stage2/parser/cutils.o
 ld: scattered reloc r_address too large for inferred architecture ppc
 make[2]: *** [HSghc.o] Error 1
 make[1]: *** [stage2] Error 2
 make: *** [bootstrap2] Error 2
 }}}
 This has been reported earlier in
 http://hackage.haskell.org/trac/ghc/ticket/1843. I will assume that this
 is simply a different symptom of the same basic problem with the Apple
 linker, but if anyone sees this differently, feel free to report a
 separate bug.

 All in all, fairly entertaining.

 Some additional lines of work include:
  1. Actually debugging the Apple linker:
  http://www.haskell.org/pipermail/glasgow-haskell-
 users/2007-November/013489.html and
  http://www.haskell.org/pipermail/glasgow-haskell-
 users/2007-November/013447.html have some
  details about this. I have started an attempt to continue this, but I am
 not done yet. In
  any case, although I have requested a status on the issue reported to
 Apple, I have not
  heard anything, so it seems unlikely that we are going to see some sort
 of solution
  from that source anytime soon.
  2. Figuring out how to, possibly, generate different code that works
 around the linker
  problem. I don't feel particularly competent in this respect, a lot of
 study would be
  required for me to work on this effectively. So if some expert in these
 matters
  would be willing to give a few hints, whether such a line of work is
 likely to
  succeed, I would be very grateful.
  3. In particular, some better understanding of the difference between
 using
  {{{.const_data}}} and {{{.text}}} would be useful. And thereby some
 indication of
  whether the work-around patch the I attached makes sense at all.

 As always, additional ideas for investigating this problem are most
 welcome.

 Best regards
 Thorkil

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1958#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to