CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2013/09/05 14:40:32

Modified files:
        sys/arch/m88k/include: trap.h 
        sys/arch/m88k/m88k: eh_common.S m88100_fp.S trap.c 

Log message:
Service the 88100 floating-point exceptions through trap(), keeping the
existing assembly code for now. Make sure the trapframe images of %fpsr and
%fpcr are updated by the assembly handlers (in addition to the real registers
which were already updated). When returning into trap(), check these updated
value to decide whether a signal ought to be sent to the userland process.

With these changes, computations which ought to cause a signal to be delivered
will indeed trigger the signal, even when they are handled by the completion
code in the floating point exception handlers.

This fixes the libc/ieeefp/except and lib/fenv regress tests on 88100 systems,
finally!

Reply via email to