new ghc under solaris
Simon Marlow
simonmar at microsoft.com
Fri Feb 25 06:09:19 EST 2005
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
More information about the Glasgow-haskell-users
mailing list