I just pushed changes to fix or work around the following problems:

1. Floating-point comparisons spuriously trapped on i386.
     (Fix: Use FUCOM[P], not FCOM[P] or FTST, in the generated code.)
2. Build was broken from 9.1.1.
     (Temporary kludge: bake a fresh runtime into the build tools.)
3. Cross-compile didn't convert fni->bci so install failed.
     (Fix: Do it.)

All tests pass now on NetBSD in the following configurations:

amd64 (from 9.1.1/amd64)
i386 (from 9.1.1/i386; with CFLAGS=-m32, AS_FLAGS=--32)
svm1 (from 9.1.1/amd64; `make all-native', not compile-svm.sh)

For the native builds, a full build takes about five minutes on my
laptop (8-thread Ivy Bridge i7 on an SSD with `make -j12', although 12
jobs is overkill out of habit -- we can't take advantage of more than
about six at a time).  I didn't measure svm1 but it was well under an
hour.

Haven't gotten a liarc build to work with `make all-native' instead of
the crufty shell scripts, but I don't think it's far off, and that
should be able to take advantage of as many CPUs as you have.

Cross-compilation is still a second-class citizen: it requires
compile-by-procedures to be disabled, it doesn't actually work across
different machine architectures (just native<->svm on the same
machine), and the crsend phase is painfully slow (can be parallelized,
but I don't think that complexity is worth putting in the makefile).
But we're making progress.

_______________________________________________
MIT-Scheme-devel mailing list
MIT-Scheme-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/mit-scheme-devel

Reply via email to