--- a/IlmBase/IexMath/IexMathFpu.cpp	2019-12-01 15:42:08.143387128 +0100
+++ b/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
