CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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!