A presentation of the ABI and stack frame layout was held at the MMIXfest 2001-10-06 in Munich. Note the alternative, non-default ABI, presented there.
The GCC port is functional. It seems to emit correct code and runs (most
of) the GCC test-suite correctly. Exceptions to this are due to bugs in
the GCC core (different ones coming and going on a daily basis) and some
tests expecting questionable results. Here is a summary of the results
with the tar-ball and dejagnu board description file mentioned in the installation instructions. When run with
make check-gcc 'RUNTESTFLAGS=--target_board=mmixware-sim'
i.e. executing executable tests in the mmix simulator it produces:
=== gcc Summary === # of expected passes 16256 # of unexpected failures 39 # of expected failures 57 # of unresolved testcases 44 # of unsupported tests 72 .../xgcc version 3.1 20011201 (experimental) ... === g++ Summary === # of expected passes 6673 # of unexpected failures 26 # of unexpected successes 2 # of expected failures 94 # of untested testcases 27 # of unsupported tests 1 .../g++ version 3.1 20011201 (experimental)With the newlib C runtime library, simple "hello world" programs work, for both C and C++.
Work is under way to collect real-world programs, running them in the mmix simulator to collect necessary performance (regression) data for improving the port. One of these programs is of course the mmix simulator itself, perhaps when running a pre-compiled version (for regression-testing purposes) of the mmix simulator, with this recursion terminated with the silly.mms program, for maximum coverage of the mmix program.
sCC
patterns are missing.
-Wl,--defsym,__Stack_start=0x1680a00000000000
.