
On Fri, 2006-10-13 at 09:30 +0200, Christian Maeder wrote:
Christian Maeder schrieb:
I've created ghc-6.6 under solaris. This did only work with SplitObj=No in mk/build.mk. (There was an early split error, that I could reproduce.)
Here is the output of that split error:
../../compiler/ghc-inplace -H16m -O -fglasgow-exts -cpp -Iinclude -"#include" Hs Base.h -funbox-strict-fields -package-name base-2.0 -O -Rghc-timing -fgenerics -fgenerics -split-objs -c GHC/Base.lhs -o GHC/Base.o -ohi GHC/Base.hi /tmp/ghc27221_0/ghc27221_0.split__1.s: Assembler messages:
/tmp/ghc27221_0/ghc27221_0.split__1.s:22:0: Error: Architecture mismatch on "blu,pt %icc,.LL7".
/tmp/ghc27221_0/ghc27221_0.split__1.s:22:0: (Requires v9|v9a|v9b; requested architecture is v8.)
When I've had similar error messages in the past on sparc linux it was because of a mismatch between the requested architecture when compiling and when assembling. For example if I were to do: ghc --make HelloWorld.hs -optc-mcpu=ultrasparc then ghc would call gcc to compile .c -> .s with -mcpu=ultrasparc and so generate sparc V9 instructions. But when it came to assembling the .s file, we've not passed the abi flag via -opta so it defaults to the minimum abi. Then of course the assembler bumps into sparc V9 instructions but it had only been told to expect sparc V8 and so it complains. So I'd suggest building a test file with -split-objs and -v and see exactly what flags ghc is passing to gcc at the compilation and assembly stages. Duncan