Date: Wed, 22 Oct 2003 02:00:07 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libc/ia64/gen fpgetmask.c fpsetmask.c Message-ID: <200310220900.h9M9088d064717@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marcel 2003/10/22 02:00:07 PDT
FreeBSD src repository
Modified files:
lib/libc/ia64/gen fpgetmask.c fpsetmask.c
Log:
The FP status register allows for 6 traps to be masked. One of them,
the denormal/unnormal trap, is not a standard IEEE trap. We did
not exclude it from being returned by fpgetmask(), nor did we make
sure that fpsetmask() didn't clobber it. Since the non-IEEE trap
is not part of fp_except_t, users of ifpgetmask()/fpsetmask() would
be confronted with unexpected behaviour, one of which is a SIGFPE
for denormal/unnormal FP results.
This commit makes sure that we don't leak the denormal/unnormal mask
bit in fp_except_t and also that we don't clobber it.
Revision Changes Path
1.4 +1 -1 src/lib/libc/ia64/gen/fpgetmask.c
1.4 +2 -2 src/lib/libc/ia64/gen/fpsetmask.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310220900.h9M9088d064717>
