x86_64: floating-point environment (i.e. fenv.h). BUG.
Houder
houder@xs4all.nl
Thu Aug 2 15:14:00 GMT 2018
On 2018-08-01 13:49, Houder wrote:
> On 2018-08-01 13:00, Corinna Vinschen wrote:
>> On Aug 1 12:22, Houder wrote:
>>> Hi Corinna,
>>>
>>> Short version of my report (as there is more to say about the
>>> implementation
>>> of
>>> "fenv") in Cygwin; this time I restrict myself to a bug in fegetenv()
>>> ).
>>>
>>> (Note to myself: attach STC)
>>>
>>> I am reporting a bug in fegetenv() in winsup/cygwin/fenv.cc. There is
>>> no
>>> hurry
>>> in repairing this bug, as "fenv" is hardly ever (never?) used by
>>> anyone.
>>>
>>> fegetenv() should be modified as follows:
>>>
>>> from:
>>> __asm__ volatile ("fnstenv %0" : "=m" (envp->_fpu) : );
>>> if (use_sse)
>>> __asm__ volatile ("stmxcsr %0" : "=m" (envp->_sse_mxcsr) : );
>>> return 0
>>>
>>> to:
>>> // Henri: copying glibc ...
>>> __asm__ volatile ("fnstenv %0\n"
>>> "fldenv %0" : "=m" (envp->_fpu) : );
>>> if (use_sse)
>>> __asm__ volatile ("stmxcsr %0" : "=m" (envp->_sse_mxcsr) : );
>>> return 0;
>>
>> Since you know how to fix things, please just send patches to
>> the cygwin-patches ML.
>
> Ah ... Agreed. However, as I am not set up for building (anymore), this
> will take some time ... (not even git is installed).
>
> (yes, I did verify the above modification (and more), however I did
> that
> "locally" (basically, I included winsup/cygwin/fenv.cc in my STC) ).
Corinna,
As requested by you, I made an attempt. See cygwin-patches.
Regards,
Henri
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list