OpenSolaris

Printable Version Enter a New Search
Bug ID 6561814
Synopsis Loss of FPU status word in Brandz signal contexts
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:brandz
Keywords s10u4beta
Responsible Engineer William Kucharski
Reported Against s10u4_05
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_67
Fixed In snv_67
Release Fixed solaris_nevada(snv_67)
Related Bugs
Submit Date 24-May-2007
Last Update Date 20-June-2007
Description
The FPU status word in signal contexts after a floating point exception is zero,
but should reflect the current exceptions.
STEPS TO DUPLICATE
-------------------------
Compile the attached example:
cc -g -o tst-fpu tst-fpu.c
Run under CentOS 3.8 Brandz, and note that the SIGFPE handler
shows the status word exception bits are zero, and that the application
continues after returning from the exception.
EXPECTED VS ACTUAL RESULTS
-------------------------------------
Expected: Expect the status word to reflect the exceptions, and that the
application will only continue when the exception is explicitly masked in the
control word.
Actual: The status word exception bits are zero, and the application continues
ignoring the exception.
ERROR MESSAGES
---------------------
(No Answer)
SOURCE CODE
------------------
(No Answer)
SYSTEM INFORMATION
--------------------------
Hardware Platforms (AMD64-1, Non-Sun, ASUS K8V Delux, AMD Athlon., x64, 1GB, 100GB or more)
Operating Platforms (Sol1, Solaris 10 7/07, Solaris, JDS 3 Sun Java Desktop System Release 3, English)
SUBMITTER PROVIDED WORKAROUND
--------------------------
None.
Work Around
Linux code needing to know the value of the status word at exception
time should examine ucp->uc_mcontext.fpregs->status rather than
ucp->uc_mcontext.fpregs->sw.
Comments
N/A