Building GHC 5.02 on Solaris x86

Simon Marlow simonmar at microsoft.com
Tue Oct 23 09:10:52 EDT 2001


> I am trying to build GHC 5.02 on an x86 Solaris machine (with 
> the x86 HC
> stuff) and I am getting this error:
> 
> 
> gcc -x c MArray.hc -o MArray.raw_s -S -O  -fno-defer-pop 
> -fomit-frame-pointer   -DDONT_WANT_WIN32_DLL_SUPPORT 
> -D__GLASGOW_HASKELL__=502  -O   
> -I/tmp/foo/ghc-5.02/ghc/includes 
> -I/tmp/foo/ghc-5.02/ghc/lib/std/cbits 
> -I/tmp/foo/ghc-5.02/hslibs/lang/cbits 
> -I/tmp/foo/ghc-5.02/hslibs/posix/cbits 
> -I/tmp/foo/ghc-5.02/hslibs/util/cbits 
> -I/tmp/foo/ghc-5.02/hslibs/text/cbits 
> -I/tmp/foo/ghc-5.02/hslibs/hssource/cbits  
> -I../../ghc/lib/std/cbits -I../../ghc/includes -Icbits    -I. 
>  `echo  | sed 's/^$/-DSTOLEN_X86_REGS=4/'`
> MArray.hc: In function `sbMI_ret':
> MArray.hc:5292: fixed or forbidden register 3 (bx) was 
> spilled for class GENERAL_REGS.
> MArray.hc:5292: This may be due to a compiler bug or to impossible asm
> MArray.hc:5292: statements or clauses.
> MArray.hc:5292: This is the instruction:
> (insn 28 26 31 (set (mem/s:DI (plus:SI (plus:SI (mult:SI (reg:SI 25)
>                         (const_int 8 [0x8]))
>                     (reg:SI 26))
>                 (const_int 8 [0x8])) 0)
>         (reg/v:DI 24)) 79 {movdi+1} (insn_list 16 (insn_list 
> 24 (insn_list 26 (nil))))
>     (expr_list:REG_DEAD (reg/v:DI 24)
>         (expr_list:REG_DEAD (reg:SI 25)
>             (expr_list:REG_DEAD (reg:SI 26)
>                 (nil)))))
> make[1]: *** [MArray.raw_s] Error 1
> make: *** [all] Error 1
> make: Leaving directory `/tmp/foo/ghc-5.02/hslibs'

You need to add the line

	MArray_HC_OPTS += -monly-3-regs

to fptools/hslibs/lang/Makefile.

> I have also fount it neccesary to add
> /tmp/foo/ghc-5.02/ghc/driver/mangler to the path for ghc-asm - should
> this be needed?

I don't know, we haven't tested the bootstrapping process very
thoroughly due to lack of time.  I'll be happy to look through any
patches you come up with, though.

Cheers,
	Simon




More information about the Glasgow-haskell-bugs mailing list