Hi,

I'm trying to get GHC built on Solaris x86 (somewhat old version of it too -- not my choice).

   uname -a
   SunOS queeg 5.9 Generic_122301-19 i86pc i386 i86pc Solaris

Here is how I configured ghc:

./configure --prefix=$HOME --with-gcc=/local/solaris/apps/gcc-4.0.2/ bin/gcc --with-gas=/local/solaris/apps/binutils-2.16.1/bin/as --with- ld=/local/solaris/apps/binutils-2.16.1/bin/ld --with-gmp-includes=/ local/solaris86/apps/gmp-4.2.1/include/ --with-gmp-libraries=/local/ solaris86/apps/gmp-4.2.1/lib/

I think the --with-gas setting is bogus, but I was clutching at straws :)

After a while the build crashes when executing this command:

../compiler/ghc-inplace -optc-O -optc-Wall -optc-W -optc-Wstrict- prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations - optc-Winline -optc-Waggregate-return -optc-I../includes -optc-I. - optc-Iparallel -optc-Ism -optc-DCOMPILING_RTS -optc-fomit-frame- pointer -optc-I/local/solaris86/apps/gmp-4.2.1/include/ -optc-I../gmp/ gmpbuild -optc-fno-strict-aliasing -optc-w -H16m -O -optc-O2 -package- name rts -static -I/local/solaris86/apps/gmp-4.2.1/include/ -I../gmp/ gmpbuild -I. -#include HCIncludes.h -dcmm-lint -c StgCRun.c -o StgCRun.o
Assembler: StgCRun.c
        "/tmp/ghc17357_0/ghc17357_0.s", line 18 : Illegal mnemonic
        "/tmp/ghc17357_0/ghc17357_0.s", line 18 : Syntax error
        "/tmp/ghc17357_0/ghc17357_0.s", line 18 : Illegal mnemonic
make[1]: *** [StgCRun.o] Error 1
make: *** [stage1] Error 1


After looking in the offending assembly file, I see that the "illegal mnemonic" is caused by the use of "global" instead of "globl":

           .global StgReturn

The sun assembler chokes on that line, but the gnu assembler is okay with it.

One question is: can I use gas as the assembler instead of the solaris as? How do I get that to work?

However, I would like to get to the bottom of the error.

My suspicion is that the use of "global" is not coming from the C compiler (gcc), but from the evil mangler perl script. All other occurrences are spelt "globl", which is why I made my hypothesis about the mangler.

I'm not knowledgeable enough about the mangler to know if this is true, and a moment of browsing didn't make me any wiser. I can't see why gcc would use two different spellings of "globl".

Is there a way forward?

Cheers,
Bernie.





_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to