Date: Mon, 19 Jan 2004 20:38:20 -0800 From: Marcel Moolenaar <marcel@xcllnt.net> To: src-committers@FreeBSD.ORG, cvs-src@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/ia64/ia64 trap.c Message-ID: <20040120043820.GA87896@dhcp01.pn.xcllnt.net> In-Reply-To: <20040120042610.GA91142@VARK.homeunix.com> References: <200401200329.i0K3TOL0029675@repoman.freebsd.org> <20040120042610.GA91142@VARK.homeunix.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 19, 2004 at 08:26:10PM -0800, David Schultz wrote: > On Mon, Jan 19, 2004, Marcel Moolenaar wrote: > > Fix handling of FP traps: > > o For traps, the cr.iip register points to the next instruction to > > execute on interrupt return (modulo slot). Since we need to get > > the bundle of the instruction that caused the FP fault/trap, make > > sure we fetch the previous bundle if the next instruction is in > > fact the first in a bundle. > > o When we call the FPSWA handler, we need to tell it whether it's > > a trap or a fault (first argument). This was hardcoded to mean a > > fault. > > > > Also, for FP faults, when a fault is converted to a trap, adjust the > > cr.iip and cr.ipsr registers to point to the next instruction. This > > makes sure that the SIGFPE handler gets a consistent state. > > Does this fix the spurious SIGFPEs that were being delivered on > denormal traps? Yes, AFAICT. It definitely fixes the awk(1) problem I described. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040120043820.GA87896>