
On 08/10/2009 10:57, Barney Stratford wrote:
Latest set of problems. I've tried using the i386 build of GHC 6.10.4 to build the x86_64 version in the manner that I described in an earlier post. I'm not getting any segfaults now, but instead it says the following during make:
/Users/bjs/Desktop/GHC_Build/ghc-6.10.4/libraries/cabal-bin /usr/bin/ghc /Users/bjs/Desktop/GHC_Build/ghc-6.10.4/libraries/bootstrapping.conf 1.6.0.3 build --distpref dist-install --ghc-option=-H32m --ghc-option=-O --ghc-option=-I/sw/include --ghc-option=-L/sw/lib --ghc-option=-Wall Preprocessing executables for installPackage-1.0... Building installPackage-1.0... [1 of 1] Compiling Main ( installPackage.hs, dist-install/build/installPackage/installPackage-tmp/Main.o )
/var/folders/IZ/IZ09PkvEHBmw7qmXrvZvFE+++TI/-Tmp-/ghc38027_0/ghc38027_0.s:3616:0:
Bignum number illegal. Absolute 0 assumed.
/var/folders/IZ/IZ09PkvEHBmw7qmXrvZvFE+++TI/-Tmp-/ghc38027_0/ghc38027_0.s:3677:0:
Bignum number illegal. Absolute 0 assumed.
/var/folders/IZ/IZ09PkvEHBmw7qmXrvZvFE+++TI/-Tmp-/ghc38027_0/ghc38027_0.s:3709:0:
Bignum number illegal. Absolute 0 assumed.
etc...
Looking in the assembler file, I get stuff like:
Lc4a1: jmp *-16(%r13) .long _s3j4_info - _s3j4_info_dsp .text .align 3 _s3lv_info_dsp: .quad _Main_a1_srt-(_s3lv_info)+72 .quad 3 .quad 37590000000000174587920 _s3lv_info: Lc4bb: leaq -16(%rbp),%rax cmpq %r14,%rax
(That bignum is at line 3616.) Any ideas what might be causing this?
Almost certainly a misconfiguration somewhere, but it's hard to tell where. Something thinks that words are 32 bits when they are in fact 64, or vice versa. So which compiler is generating the bogus code here? Is this the stage1 x86-64 compiler, or the i386 compiler? Cheers, Simon