A registerised mips-linux port of GHC

Thiemo Seufer ths at networkno.de
Fri Aug 25 08:55:51 EDT 2006


Simon Marlow wrote:
> Thiemo Seufer wrote:
> 
> >I decided to ignore the performance tuning for now and used a register
> >mapping which is compatible to all three relevant MIPS ABIs. It uses
> >4 callee-saved registers as R1-R4, plus 4 temporaries (caller-saved)
> >registers as R5-R8.
> >
> >With the appended patch to support a registerised build of GHC 6.4.2 on
> >Debian mips-linux I got those testsuite results:
> >
> >OVERALL SUMMARY for test run started at Wed Aug 23 20:12:05 BST 2006
> >     674 total tests, which gave rise to
> >    1883 test cases, of which
> >      21 caused framework failures
> >     369 were skipped
> >
> >    1407 expected passes
> >      22 expected failures
> >       0 unexpected passes
> >      41 unexpected failures
> >
> >Unexpected failures:
> >   barton-mangler-bug(normal,opt,prof,threaded)
> >   cabal01(normal)
> >   cg005(prof)
> >   char001(prof)
> >   directory001(prof)
> >   driver062.2(normal)
> >   drvrun006(normal)
> >   drvrun018(opt)
> >   enum02(threaded)
> >   exceptions001(normal)
> >   ext1(prof)
> >   fed001(normal,opt,prof,threaded)
> >   ffi006(normal,opt,prof,threaded)
> >   ffi007(normal,opt,prof,threaded)
> >   ffi008(normal)
> >   finalization001(threaded)
> >   freeNames(threaded)
> >   galois_raytrace(opt,prof)
> >   ioref001(normal,prof,threaded)
> >   joao-circular(normal,opt,prof,threaded)
> >   ratio001(prof)
> >   uri001(prof)
> >   xmlish(prof)
> 
> Congratulations, that does look pretty good.  Leaving out 
> barton-mangler-bug (probably floating-point rounding differences) and the 
> ffi tests (lack of Adjustor.c support), there aren't many failures.  
> Although there don't seem to be any pattern to the remaining failures, 
> which is perhaps slightly worrying - were they all segfaults, and are they 
> repeatable?

Hm, I think I don't understand how the testsuite works. There seems to
be no record of the test results, and I missed to log the output.

I looked at the driver062.2 failure, and the binary seems to work fine,
except that there's no matching stdout file in the testsuite tarball.
I figure it fails on all platforms that way.

Also, I'm more worried about the 21 test framework failures. How can I
find out what happened there?

> I've committed your patch, thanks.

The assembler call wrapper in StgCRun has a typo which hides some bugs
(a missing colon before the clobber list). This probably explains some
failures, I'm doing a rebuild and a testsuite rerun with a fixed
version of the wrapper.


Thiemo


More information about the Glasgow-haskell-users mailing list