--- IlmBase/IexMath/IexMathFpu.cpp.orig 2019-12-01 15:42:08.143387128 +0100 +++ IlmBase/IexMath/IexMathFpu.cpp 2019-12-01 15:43:02.402389927 +0100 @@ -281,10 +281,18 @@ inline void restoreControlRegs (const ucontext_t & ucon, bool clearExceptions) { +#if defined(__GLIBC__) || defined(__i386__) setCw ((ucon.uc_mcontext.fpregs->cw & cwRestoreMask) | cwRestoreVal); +#else + setCw ((ucon.uc_mcontext.fpregs->cwd & cwRestoreMask) | cwRestoreVal); +#endif _fpstate * kfp = reinterpret_cast<_fpstate *> (ucon.uc_mcontext.fpregs); +#if defined(__GLIBC__) || defined(__i386__) setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions); +#else + setMxcsr (kfp->mxcsr, clearExceptions); +#endif } #endif