Re: Mysterious DEC utterances.
Sven Panne on: Warning: Linking some objects which contain exception information sections and some which do not. This may cause fatal runtime exception handling problems (last obj encountered without exceptions was main/LoopHack.o). I don't speak DECish too fluently, but here's my humble guess: Under arcane circumstances, linking gcc-compiled code on DEC-Unix 3.2 produces the above warning. It's annoying, but it doesn't hurt (at least apart from aesthetics :-) . I can now concur, as the rest of the build went swimmingly. Perhaps Josh's problems were 3.2 specific... I don't know if 3.2 and 4.0 are alleged to be object code compatible -- if so, and anyone's desparate enough to try, I could perhaps arrange to send them a built hsc. More utterances: I also note the following message from later in said build. I can't recall having seen any such things things before, though perhaps I either didn't do builds on other platforms with -dshow-passes set (or just didn't notice the output if I did). I assume it too is benign, just mildly Mysterious to we mere mortals. Cheers, Alex. -- rm -f src/PosixUtil.p_o ; if [ ! -d src/PosixUtil ]; then mkdir src/PosixUtil ; else exit 0; fi; find src/PosixUtil -name '*.p_o' -print | xargs rm -f __rm_food; ../../ghc/driver/ghc -H50M -K8M -split-objs -odir src/PosixUtil -hisuf p_hi -recomp -isrc -cpp -fvia-C -fglasgow-exts -dcore-lint -prof '-#include"cbits/libposix.h"' -monly-3-regs -dshow-passes -c src/PosixUtil.lhs -o src/PosixUtil.p_o -osuf p_o ghc: WARNING: splitting objects when profiling will *BREAK* if any _scc_s are present! *** Reader: *** Renamer: *** TypeCheck: *** DeSugar: *** Core2Core: *** Core2Core: Simplify *** Core2Stg: *** Stg2Stg: *** Core Lint result of TidyCorePgm *** Core Lint result of Simplify (3) *** CodeGen: ghc: module version changed to 1; reason: no old .hi file
Re: Mysterious DEC utterances.
Alex Ferguson wrote: [...] I'm using OSF 3.2, however, so your kilometerage may vary considerably... [...] ghc-0.29 -o hsc [ridiculously long argument list removed] /bin/ld: Warning: Linking some objects which contain exception information sections and some which do not. This may cause fatal runtime exception handling problems (last obj encountered without exceptions was main/LoopHack.o). I don't speak DECish too fluently, but here's my humble guess: Under arcane circumstances, linking gcc-compiled code on DEC-Unix 3.2 produces the above warning. It's annoying, but it doesn't hurt (at least apart from aesthetics :-) . Anyway, I digged up an old gcc patch from long forgotten sources and appended it to this mail. BTW, stripping executables with the GNU-strip makes some trouble on our DECs. Wise comments from a DEC-grandmaster would be greatly appreciated... Much fun recompiling gcc! :-] (My first mailing attempt failed because vanuata.dcs.gla.ac.uk and my Netscape apparently didn't like each other, having a dispute about their MIME-dialects. So here's good ol' ASCII... :-( -- SNIP -- SNIP -- gcc-2.7.2/config/alpha/osf32.h -- SNIP -- SNIP /* Definitions of target machine for GNU compiler, for DEC Alpha. Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. Contributed by Richard Kenner ([EMAIL PROTECTED]) This file is part of GNU CC. GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "alpha/osf2.h" /* In OSF 3.2, the loader issues warnings about possible exception handling problems in object files which do not define a .text section and which define the symbols `gcc2_compiled.' and `__gnu_compiled_c' without any section specification. The following is a work around and I do not know if it really works right! But at least it suppresses the nasty loader warnings. */ #if defined (EXTRA_SECTIONS) #undef EXTRA_SECTIONS #endif #define EXTRA_SECTIONS readonly_data, local_readonly_const_data #if defined (EXTRA_SECTION_FUNCTIONS) #undef EXTRA_SECTION_FUNCTIONS #endif #define EXTRA_SECTION_FUNCTIONS \ void\ literal_section () \ { \ if (in_section != readonly_data) \ { \ static int firsttime = 1; \ \ fprintf (asm_out_file, "%s\n", READONLY_DATA_SECTION_ASM_OP); \ if (firsttime)\ { \ firsttime = 0;\ ASM_OUTPUT_DOUBLE_INT (asm_out_file, const0_rtx); \ } \ \ in_section = readonly_data; \ } \ } \ void\ rconst_section () \ { \ if (in_section != local_readonly_const_data) \ { \ fprintf (asm_out_file, ".rconst\n"); \ in_section = local_readonly_const_data; \ } \ } \ #if defined (ASM_IDENTIFY_GCC) #undef ASM_IDENTIFY_GCC #endif #define ASM_IDENTIFY_GCC(FILE) \ do { rconst_section (); \ fprintf(FILE, "gcc2_compiled.:\n");} while(0) #if defined (ASM_IDENTIFY_GCC) #undef ASM_IDENTIFY_LANGUAGE #endif #define ASM_IDENTIFY_LANGUAGE(FILE) \ do { rconst_section (); \ fprintf (FILE, "__gnu_compiled_%s:\n", lang_identify ());} while(0) -- SNIP -- SNIP --
Mysterious DEC utterances.
Just in case the following throws any light on Josh Burdick's build problems on an alpha, I got the following message, when my build here eventually got as far as hsc. I'm using OSF 3.2, however, so your kilometerage may vary considerably... Good luck, Alex. Spam alert: but honest, it's only one command! ghc-0.29 -o hsc -H50M -K8M -cpp -fhaskell-1.3 -fglasgow-exts -DCOMPILING_GHC -Rghc-timing -I. -IcodeGen -InativeGen -Iparser -iutils -ibasicTypes -itypes -ihsSyn -iprelude -irename -itypecheck -ideSugar -icoreSyn -ispecialise -isimplCore -istranal -istgSyn -isimplStg -icodeGen -iabsCSyn -imain -ireader -iprofiling -iparser -inativeGen -fomit-derived-read -fomit-reexported-instances -DOMIT_DEFORESTER -no-link-chkparser/U_binding.o parser/U_constr.o parser/U_either.o parser/U_entidt.o parser/U_list.o parser/U_literal.o parser/U_maybe.o parser/U_pbinding.o parser/U_qid.o parser/U_tree.o parser/U_ttype.o utils/Argv.o utils/Bag.o utils/BitSet.o utils/Digraph.o utils/FastString.o utils/FiniteMap.o utils/ListSetOps.o utils/MatchEnv.o utils/Maybes.o utils/OrdList.o utils/Outputable.o utils/Pretty.o utils/PrimPacked.o utils/SST.o utils/StringBuffer.o utils/UniqFM.o utils/UniqSet.o utils/Util.o basicTypes/BasicTypes.o basicTypes/Demand.o basicTypes/FieldLabel.o basicTypes/Id.o basicTypes/IdInfo.o basicTypes/IdUtils.o basicTypes/Literal.o basicTypes/Name.o basicTypes/PprEnv.o basicTypes/PragmaInfo.o basicTypes/SrcLoc.o basicTypes/UniqSupply.o basicTypes/Unique.o types/Class.o types/Kind.o types/PprType.o types/TyCon.o types/TyVar.o types/Type.o types/Usage.o hsSyn/HsBasic.o hsSyn/HsBinds.o hsSyn/HsCore.o hsSyn/HsDecls.o hsSyn/HsExpr.o hsSyn/HsImpExp.o hsSyn/HsMatches.o hsSyn/HsPat.o hsSyn/HsPragmas.o hsSyn/HsSyn.o hsSyn/HsTypes.o prelude/PrelInfo.o prelude/PrelMods.o prelude/PrelVals.o prelude/PrimOp.o prelude/PrimRep.o prelude/StdIdInfo.o prelude/TysPrim.o prelude/TysWiredIn.o rename/Rename.o rename/RnBinds.o rename/RnEnv.o rename/RnExpr.o rename/RnHsSyn.o rename/RnIfaces.o rename/RnMonad.o rename/RnNames.o rename/RnSource.o typecheck/Inst.o typecheck/TcBinds.o typecheck/TcClassDcl.o typecheck/TcDefaults.o typecheck/TcDeriv.o typecheck/TcEnv.o typecheck/TcExpr.o typecheck/TcGRHSs.o typecheck/TcGenDeriv.o typecheck/TcHsSyn.o typecheck/TcIfaceSig.o typecheck/TcInstDcls.o typecheck/TcInstUtil.o typecheck/TcKind.o typecheck/TcMatches.o typecheck/TcModule.o typecheck/TcMonad.o typecheck/TcMonoType.o typecheck/TcPat.o typecheck/TcSimplify.o typecheck/TcTyClsDecls.o typecheck/TcTyDecls.o typecheck/TcType.o typecheck/Unify.o deSugar/Desugar.o deSugar/DsBinds.o deSugar/DsCCall.o deSugar/DsExpr.o deSugar/DsGRHSs.o deSugar/DsHsSyn.o deSugar/DsListComp.o deSugar/DsMonad.o deSugar/DsUtils.o deSugar/Match.o deSugar/MatchCon.o deSugar/MatchLit.o coreSyn/AnnCoreSyn.o coreSyn/CoreLift.o coreSyn/CoreLint.o coreSyn/CoreSyn.o coreSyn/CoreUnfold.o coreSyn/CoreUtils.o coreSyn/FreeVars.o coreSyn/PprCore.o specialise/SpecEnv.o specialise/SpecUtils.o specialise/Specialise.o simplCore/AnalFBWW.o simplCore/BinderInfo.o simplCore/ConFold.o simplCore/FloatIn.o simplCore/FloatOut.o simplCore/FoldrBuildWW.o simplCore/LiberateCase.o simplCore/MagicUFs.o simplCore/OccurAnal.o simplCore/SAT.o simplCore/SATMonad.o simplCore/SetLevels.o simplCore/SimplCase.o simplCore/SimplCore.o simplCore/SimplEnv.o simplCore/SimplMonad.o simplCore/SimplPgm.o simplCore/SimplUtils.o simplCore/SimplVar.o simplCore/Simplify.o stranal/SaAbsInt.o stranal/SaLib.o stranal/StrictAnal.o stranal/WorkWrap.o stranal/WwLib.o stgSyn/CoreToStg.o stgSyn/StgLint.o stgSyn/StgSyn.o simplStg/LambdaLift.o simplStg/SimplStg.o simplStg/StgStats.o simplStg/StgVarInfo.o simplStg/UpdAnal.o codeGen/CgBindery.o codeGen/CgCase.o codeGen/CgClosure.o codeGen/CgCompInfo.o codeGen/CgCon.o codeGen/CgConTbls.o codeGen/CgExpr.o codeGen/CgHeapery.o codeGen/CgLetNoEscape.o codeGen/CgMonad.o codeGen/CgRetConv.o codeGen/CgStackery.o codeGen/CgTailCall.o codeGen/CgUpdate.o codeGen/CgUsages.o codeGen/ClosureInfo.o codeGen/CodeGen.o codeGen/SMRep.o absCSyn/AbsCSyn.o absCSyn/AbsCUtils.o absCSyn/CLabel.o absCSyn/CStrings.o absCSyn/Costs.o absCSyn/HeapOffs.o absCSyn/PprAbsC.o main/CmdLineOpts.o main/Constants.o main/ErrUtils.o main/Main.o main/MkIface.o reader/Lex.o reader/PrefixSyn.o reader/PrefixToHs.o reader/RdrHsSyn.o reader/ReadPrefix.o profiling/CostCentre.o profiling/SCCfinal.o parser/UgenAll.o parser/UgenUtil.o nativeGen/AbsCStixGen.o nativeGen/AsmCodeGen.o nativeGen/AsmRegAlloc.o nativeGen/MachCode.o nativeGen/MachMisc.o nativeGen/MachRegs.o nativeGen/PprMach.o nativeGen/RegAllocInfo.o nativeGen/Stix.o nativeGen/StixInfo.o nativeGen/StixInteger.o nativeGen/StixMacro.o nativeGen/StixPrim.o rename/ParseIface.o