[Haskell-cafe] Re: GHC 6.4.1 x86-64 does not compile
Simon Marlow
simonmarhaskell at gmail.com
Fri May 5 05:23:42 EDT 2006
Dusan Kolar wrote:
> Hello all,
>
> I've install "universal binary" for x86_64 of GHC 6.4.1. The
> installation was done on AMD dual core machine. Uname for the machine
> gives:
>
> Linux <machine name> 2.6.16.5 #1 SMP Thu Apr 13 09:08:22 CEST 2006
> x86_64 x86_64 x86_64 GNU/Linux
>
> While ghci was running some tests well, the ghc ended compilation with a
> long list of errors starting like this:
>
> Chasing modules from: queen-main
> Compiling QueensDK ( ./QueensDK.hs, ./QueensDK.o )
> /tmp/ghc27286.s: Assembler messages:
> /tmp/ghc27286.s:26: Error: bad register name `%r12'
> /tmp/ghc27286.s:27: Error: bad register name `%r15'
> /tmp/ghc27286.s:29: Error: bad register name `%r12)'
> /tmp/ghc27286.s:30: Error: bad register name `%r12)'
> /tmp/ghc27286.s:31: Error: bad register name `%r12)'
> /tmp/ghc27286.s:32: Error: bad register name `%rax'
> /tmp/ghc27286.s:33: Error: bad register name `%r13)'
> /tmp/ghc27286.s:34: Error: bad register name `%rbp'
> /tmp/ghc27286.s:37: Error: bad register name `%rbx)'
> /tmp/ghc27286.s:38: Error: bad register name `%rbx)'
> /tmp/ghc27286.s:45: Error: bad register name `%rbp)'
> /tmp/ghc27286.s:46: Error: bad register name `%r14'
> /tmp/ghc27286.s:48: Error: bad register name `%rbp)'
> /tmp/ghc27286.s:49: Error: bad register name `%r13'
> ....
>
> The list is quite long. I've truncated it.
>
> Well, OK, the x386 version is running, but it won't compile GHC-6.4.2
> and, moreover, it's not optimized for the HW. ;-)
>
> Is there any way out, or what may I be doing wrong way?
It appears that somehow the assembler is being used in 32-bit mode,
rather than 64-bit. I'm not sure why this happens. Perhaps your
machine is set up to use a 32-bit build environment by default, rather
than a 64-bit one? The fact that the x86 version works without any
special options seems to support that.
On my x86_64 box here, I have to give -m32 options to gcc to generate
32-bit code, for example.
Cheers,
Simon
More information about the Haskell-Cafe
mailing list