diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-09-05 20:40:33 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-09-05 20:40:33 +0000 |
commit | a456ac2d9507f9b23062f5b9004f537c920784f5 (patch) | |
tree | 67d264200a978339705744ab6c31d16f0fba1487 /gnu/usr.bin/gcc | |
parent | 6b37e992e3fe7525ab3688a51b9ba4c57cbef669 (diff) |
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!
Diffstat (limited to 'gnu/usr.bin/gcc')
0 files changed, 0 insertions, 0 deletions