
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.) When trying out this compiler, I got the following error (that I only post for the record): Cheers Christian [410 of 642] Compiling Proofs.HideTheoremShift ( Proofs/HideTheoremShift.hs, Proofs/HideTheoremShift.o ) ghc-6.6: panic! (the 'impossible' happened) (GHC version 6.6 for sparc-sun-solaris2): lookupDeprec main:GUI.ConsoleUtils.listBox{v r36Wf} Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug gmake: *** [hets] Error 1

On Thu, 2006-10-12 at 15:28 +0200, Christian Maeder wrote:
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.)
When trying out this compiler, I got the following error (that I only post for the record):
Cheers Christian
[410 of 642] Compiling Proofs.HideTheoremShift ( Proofs/HideTheoremShift.hs, Proofs/HideTheoremShift.o ) ghc-6.6: panic! (the 'impossible' happened) (GHC version 6.6 for sparc-sun-solaris2): lookupDeprec main:GUI.ConsoleUtils.listBox{v r36Wf}
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Are you using sparc solaris or x86 solaris? I've so far been unable to get ghc-6.5 working on sparc linux, at least not a registerised build. The build works fine but then the resulting ghc fails on startup with an error about the scheduler being re-entered unsafely. I don't have the exact error message to hand right now. Duncan

On Thu, Oct 12, 2006 at 03:28:37PM +0200, Christian Maeder wrote:
I've created ghc-6.6 under solaris.
[410 of 642] Compiling Proofs.HideTheoremShift ( Proofs/HideTheoremShift.hs, Proofs/HideTheoremShift.o ) ghc-6.6: panic! (the 'impossible' happened) (GHC version 6.6 for sparc-sun-solaris2): lookupDeprec main:GUI.ConsoleUtils.listBox{v r36Wf}
Do you know whether or not this compiles OK on other platforms with GHC 6.6? Thanks Ian

Ian Lynagh schrieb:
On Thu, Oct 12, 2006 at 03:28:37PM +0200, Christian Maeder wrote:
I've created ghc-6.6 under solaris.
[410 of 642] Compiling Proofs.HideTheoremShift ( Proofs/HideTheoremShift.hs, Proofs/HideTheoremShift.o ) ghc-6.6: panic! (the 'impossible' happened) (GHC version 6.6 for sparc-sun-solaris2): lookupDeprec main:GUI.ConsoleUtils.listBox{v r36Wf}
Do you know whether or not this compiles OK on other platforms with GHC 6.6?
The above error must be a recompilation problem that I could not reproduce. After compiling all 642 sources from scratch this error disappeared. However under linux and mac OS this error did not turn up so far. Christian

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.)
/tmp/ghc27221_0/ghc27221_0.split__1.s:37:0:
Error: Architecture mismatch on "return".
/tmp/ghc27221_0/ghc27221_0.split__1.s:37:0:
(Requires v9|v9a|v9b; requested architecture is v8.)
/tmp/ghc27221_0/ghc27221_0.split__1.s:52:0:
Error: Architecture mismatch on "return".
/tmp/ghc27221_0/ghc27221_0.split__1.s:52:0:
(Requires v9|v9a|v9b; requested architecture is v8.)
<

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

Duncan Coutts schrieb:
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.
ok, my gcc is called with mcpu=v9. So "ghc -split-objs" works now with either -optc-mcpu=v8 or -opta-mcpu=v9 (or even -opta-mcpu=ultrasparc). Where should I place what so that my stage1 inplace-compiler works without "SplitObjs=NO" in mk/build.mk? Thanks Christian Glasgow Haskell Compiler, Version 6.6, for Haskell 98, compiled by GHC version 6.6 Using package config file: /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/package.conf wired-in package base mapped to base-2.0 wired-in package rts mapped to rts-1.0 wired-in package haskell98 mapped to haskell98-1.0 wired-in package template-haskell mapped to template-haskell-2.0 Hsc static flags: -static *** Chasing dependencies: Chasing modules from: hello.hs Created temporary directory: /tmp/ghc25062_0 *** Haskell pre-processor: convert.sh hello.hs hello.hs /tmp/ghc25062_0/ghc25062_0.hspp Stable obj: [] Stable BCO: [] compile: input file /tmp/ghc25062_0/ghc25062_0.hspp *** Checking old interface for main:Main: [1 of 1] Compiling Main ( hello.hs, hello.o ) *** Parser: *** Renamer/typechecker: *** Desugar: Result size = 10 *** Simplify: Result size = 8 *** Tidy Core: Result size = 8 *** CorePrep: Result size = 10 *** Stg2Stg: *** CodeGen: *** CodeOutput: *** C Compiler: gcc -x c /tmp/ghc25062_0/ghc25062_0.hc -o /tmp/ghc25062_0/ghc25062_0.raw_s -mcpu=v9 -w -fno-strict-aliasing -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=606 -DUSE_SPLIT_MARKERS -I . -I /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/include Using built-in specs. Target: sparc-sun-solaris2.10 Configured with: ../gcc-4.0.3/configure --prefix=/usr/local/lang -program-suffix=_4.0.3_s10 --with-gnu-as --with-as=/usr/local/bin/gnu-as --with-gnu-ld --with-ld=/usr/local/bin/gnu-ld --enable-version-specific-runtime-libs --enable-languages=c,c++ Thread model: posix gcc version 4.0.3 /export/local/mirror/sparc-solaris/lang/bin/../libexec/gcc/sparc-sun-solaris2.10/4.0.3/cc1 -quiet -v -I . -I /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/include -iprefix /export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/4.0.3/ -D__sparcv8 -D__GLASGOW_HASKELL__=606 -DUSE_SPLIT_MARKERS /tmp/ghc25062_0/ghc25062_0.hc -quiet -dumpbase ghc25062_0.hc -mcpu=v9 -auxbase-strip /tmp/ghc25062_0/ghc25062_0.raw_s -O -Wimplicit -w -version -fno-strict-aliasing -o /tmp/ghc25062_0/ghc25062_0.raw_s ignoring nonexistent directory "/export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/4.0.3/../../../../sparc-sun-solaris2.10/include" ignoring duplicate directory "/usr/local/lang/lib/gcc/sparc-sun-solaris2.10/4.0.3/include" ignoring nonexistent directory "/usr/local/lang/lib/gcc/sparc-sun-solaris2.10/4.0.3/../../../../sparc-sun-solaris2.10/include" #include "..." search starts here: #include <...> search starts here: . /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/include /export/local/mirror/sparc-solaris/lang/bin/../lib/gcc/sparc-sun-solaris2.10/4.0.3/include /usr/local/include /usr/local/lang/include /usr/include End of search list. GNU C version 4.0.3 (sparc-sun-solaris2.10) compiled by GNU C version 4.0.3. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 *** Mangler: /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/ghc-asm /tmp/ghc25062_0/ghc25062_0.raw_s /tmp/ghc25062_0/ghc25062_0.split_s *** Splitter: /usr/local/pub-bkb/ghc/ghc-6.6/lib/ghc-6.6/ghc-split /tmp/ghc25062_0/ghc25062_0.split_s /tmp/ghc25062_0/ghc25062_0.split /tmp/ghc25062_0/ghc25062_0.split *** Assembler: gcc -c -o hello_split/hello__1.o /tmp/ghc25062_0/ghc25062_0.split__1.s /tmp/ghc25062_0/ghc25062_0.split__1.s: Assembler messages: /tmp/ghc25062_0/ghc25062_0.split__1.s:30:0: Error: Architecture mismatch on "blu,pn %icc,.LL2". /tmp/ghc25062_0/ghc25062_0.split__1.s:30:0: (Requires v9|v9a|v9b; requested architecture is v8.) /tmp/ghc25062_0/ghc25062_0.split__1.s:34:0: Error: Architecture mismatch on "bgu,pt %icc,.LL2". /tmp/ghc25062_0/ghc25062_0.split__1.s:34:0: (Requires v9|v9a|v9b; requested architecture is v8.) /tmp/ghc25062_0/ghc25062_0.split__1.s:63:0: Error: Architecture mismatch on "return". /tmp/ghc25062_0/ghc25062_0.split__1.s:63:0: (Requires v9|v9a|v9b; requested architecture is v8.) *** Deleting temp files: Deleting: /tmp/ghc25062_0/ghc25062_0.split__4.s /tmp/ghc25062_0/ghc25062_0.split__3.s /tmp/ghc25062_0/ghc25062_0.split__2.s /tmp/ghc25062_0/ghc25062_0.split__1.s /tmp/ghc25062_0/ghc25062_0.split /tmp/ghc25062_0/ghc25062_0.split_s /tmp/ghc25062_0/ghc25062_0.raw_s /tmp/ghc25062_0/ghc25062_0.hc /tmp/ghc25062_0/ghc25062_0.hspp *** Deleting temp dirs: Deleting: /tmp/ghc25062_0
participants (3)
-
Christian Maeder
-
Duncan Coutts
-
Ian Lynagh