RE: new ghc under solaris

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
participants (1)
-
Simon Marlow