[MLton] Sparc+linux

Wesley W. Terpstra terpstra@gkec.tu-darmstadt.de
Sat, 18 Dec 2004 21:57:11 +0100


So, moving on to the next platform...

$ uname -a
Linux analyticity 2.6.10-rc2-mm2 #8 SMP Sat Dec 18 07:57:42 PST 2004 sparc64 GNU/Linux
$ ./build/bin/mlton -verbose 3 regression/hello-world.sml
MLton starting
MLton MLTONVERSION (built Sat Dec 18 12:36:59 2004 on analyticity)
  created this file on Sat Dec 18 12:38:39 2004.
Do not edit this file.
Flag settings:
   align: 8
   atMLtons: (regression/hello-world, @MLton, --)
...
         closureConvert starting
            flow analysis starting
            flow analysis finished in 0.03 + 0.00 (0% GC)
            free variables starting
            free variables finished in 0.02 + 0.00 (0% GC)
            globalize starting
            globalize finished in 0.01 + 0.00 (0% GC)
            convert starting
            convert raised in 0.01 + 0.00 (0% GC)
         closureConvert raised in 0.08 + 0.00 (0% GC)
      pre codegen raised in 28.08 + 5.02 (15% GC)
   Compile SML raised in 28.08 + 5.02 (15% GC)
MLton raised in 28.09 + 5.02 (15% GC)
shrinker raised unhandled exception: Subscript

All of the cross-compiled regressions passed except mlton.share where the
sizes are all different (which I assume is just b/c align=8). However, when
I try to use a cross-compiled mlton, it always fails with the above.

I've tried placing guards at every .sub in
closure-convert/closure-convert.fun, and I get nothing. Thus, I think the
exception is either in error, or coming from another file. How can I get a
more detailed stack trace of where the exception was thrown?

Does anyone have ideas as to what might cause this?

PS. The compile options shipped with MLton for sparc are solaris specific
and cause compiled executables to segfault in linux; %g7 = TLS ptr.

-- 
Wesley W. Terpstra