1.0.38.12: Fix FP traps on PPC/Linux.
authorAlastair Bridgewater <lisphacker@users.sourceforge.net>
Mon, 24 May 2010 02:23:15 +0000 (02:23 +0000)
committerAlastair Bridgewater <lisphacker@users.sourceforge.net>
Mon, 24 May 2010 02:23:15 +0000 (02:23 +0000)
commitcb427254703b615dc5d1e46a3dd8db7a8a9e6d55
treec9b5c71d9ccacfc5ddecbbee7faacae9a25fa97f
parent52c61a5ea469c7766ff493f889625394c4038b9a
1.0.38.12: Fix FP traps on PPC/Linux.

  * Linux on most platforms, including PPC, kicks off its signal
handlers with a cleared FP control word.  We already have a hook to deal
with this, so enable it.

  * The implementation of said hook on PPC/Linux was broken, largely due
to a variable-size mismatch in a KLUDGE it uses.  Fixed and documented
the KLUDGE, added support for preserving the current rounding mode, and
enabled the actual restoration of the FP control word.

  * NetBSD isn't the only target which requires :INVALID exceptions to
be disabled, it also matters on PPC.  Fixed the default control mode.

  * Fix up the test suite to reflect the current expectations for
float.pure.lisp tests.
NEWS
src/code/float-trap.lisp
src/runtime/ppc-linux-os.c
src/runtime/ppc-linux-os.h
tests/float.pure.lisp
version.lisp-expr