#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):
Thanks a lot for this information. I would assume that the PPC Mac OS X
Leopard builder fails to build stage 2 for the same reason
(http://darcs.haskell.org/buildbot/all/tnaur%20PPC%20OSX%20head%202/builds/20
/step-stage2/0):
{{{
/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/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[1]: *** [HSghc.o] Bus error
make[1]: *** Deleting file `HSghc.o'
make: *** [stage2] Error 2
}}}
I have looked a bit more into this and still believe that it is a Leopard
ld problem. Although I am not able to understand what goes on with the
failing PPC code in detail, I am a bit concerned about the use of an
expression that subtracts a {{{.text}}} section relocatable symbol from a
{{{.const_data}}} section relocatable symbol: The Apple Assembler
documentation seems to suggest that this is invalid (see section headed
"Relocatable Expressions" in
http://developer.apple.com/documentation/DeveloperTools/Reference/Assembler/Assembler.pdf).
Although I am not sure of the difference between {{{.const_data}}} and
{{{.text}}}, I tried to change the code generator to replace
{{{.const_data}}} sections with {{{.text}}} sections as indicated in the
attached patch. The resulting compiler is able to pass the sore spots
encountered earlier. It is also able to pass validate with relatively few
errors reported, but I am not sure that this is particularly significant.
For completion, the errors reported are
{{{
OVERALL SUMMARY for test run started at Wed Jan 2 09:53:41 CET 2008
2051 total tests, which gave rise to
7771 test cases, of which
1 caused framework failures
6026 were skipped
1666 expected passes
76 expected failures
0 unexpected passes
3 unexpected failures
Unexpected failures:
currentDirectory001(normal)
directory001(normal)
ghci024(ghci)
}}}
but I don't believe that they are relevant to this issue.
Suggestions for further investigation are most welcome.
Best regards
Thorkil
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1958#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs