On 25 February 2005 10:09, Christian Maeder wrote: > Simon Marlow wrote: >> What version of gcc are you using? > > I used gcc_2.95.3 until I discovered the warning: > > LdvProfile.c:43: #error Please use gcc 3.0+ to compile this file > with DEBUG; gcc < 3.0 miscompiles it > > I've switched to gcc_3.4.3. Now the final linking of the stage2 > compiler fails (with thousands of undefined symbols). > > ../../ghc/compiler/stage1/ghc-inplace -o stage2/ghc-6.5 -H16m -O > [...] > DriverState_WayThreaded_closure stage2/main/DriverFlags.o > ld: fatal: Symbol referencing errors. No output written to > stage2/ghc-6.5 > collect2: ld returned 1 exit status > > As a linker (that ./configure finds) I use gnu-ld_2.14, but gcc_3.4.3 > uses the solaris linker (see below).
This looks like a mangler or a splitter problem (those manky Perl scripts we use to postprocess assembly code). Probably gcc 3.4.3 is generating something we don't recognise. Could you try the following: - Add SplitObjs=NO to build.mk, recompile the libraries (make clean && make) and try to compile a simple program with the stage1 ghc. If that works, then it's a splitter problem. - If you get link errors, then $ cd libraries/base $ rm -f GHC/Base.o $ make GHC/Base.o EXTRA_HC_OPTS='-keep-s-file -keep-raw-s-file' and send me the contents of GHC/Base.s and GHC/Base.raw_s. Cheers, Simon _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users