Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jun 2002 02:00:13 -0700 (PDT)
From:      "Andreas Haakh" <ah@haakh.de>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/38170: fpgetmask, fpsetmask yield strange results
Message-ID:  <200206120900.g5C90Dw74176@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/38170; it has been noted by GNATS.

From: "Andreas Haakh" <ah@haakh.de>
To: "Bruce Evans" <bde@zeta.org.au>
Cc: <FreeBSD-gnats-submit@FreeBSD.ORG>
Subject: Re: kern/38170: fpgetmask, fpsetmask yield strange results
Date: Wed, 12 Jun 2002 10:54:01 +0200

 ----- Original Message -----
 From: "Bruce Evans" <bde@zeta.org.au>
 To: "Andreas Haakh" <ah@alvman.Haakh.de>
 Cc: <FreeBSD-gnats-submit@FreeBSD.ORG>
 Sent: Saturday, June 01, 2002 7:54 PM
 Subject: Re: kern/38170: fpgetmask, fpsetmask yield strange results
 
 
 > On Fri, 17 May 2002, Andreas Haakh wrote:
 >
 > > >Description:
 > > I tried to modify the default fp_exception-mask. The results from
 fpgetmask and fpsetmask (and probably some other fp[sg]et-routines) are
 buggy.
 >
 > fpsetmask() is fixed in -current.  The complement of the mask (ANDed with
 > the mask bitfield) was being returned.  The other routines seem to be OK.
 >
 > > >How-To-Repeat:
 > > The following codeexample shows this strange behaviour:
 > >
 > > #include <stdio.h>
 > > #include <ieeefp.h>
 > >
 > > int main (void) {
 > >
 > >     fp_except_t except, res;
 > >
 > >     res=fpgetmask();
 > >
 > >     printf ("fp_except from fpgetmask: \t0x%02x!\n", res);
 > >
 > >     except = FP_X_INV|FP_X_DZ|FP_X_OFL|FP_X_STK;
 >
 > Note that FP_X_STK is output-only.  Attempts to set it are ignored by
 > fpsetmask(), and fpgetmask() returns whatever the hardware gives for
 > attempts to set it in other initializations that don't mask it.  It
 > is documented as "reserved" in at least the i486 manual, so strictly
 > it should not be set unconditionally, but the kernel just tries to
 > write 0 to it.  I wish that this bit controlled stack exceptions
 > independently of invalid operand exceptions, so that SIGFPEs could
 > be generated for the programming error of stack overflow without
 > generating them for invalid operands which might not even be an error
 > in programs that generate NaNs intentionally.
 >
 
 Is it already MFC'd or when will this happen?
 
 There should be a note in fpsetask(3) that FP_X_STK is reserved...
 
 Andreas
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206120900.g5C90Dw74176>