diff --git a/src/FoundationClasses/TKernel/OSD/OSD_signal.cxx b/src/FoundationClasses/TKernel/OSD/OSD_signal.cxx index 45d0debe85..0545d7496d 100644 --- a/src/FoundationClasses/TKernel/OSD/OSD_signal.cxx +++ b/src/FoundationClasses/TKernel/OSD/OSD_signal.cxx @@ -769,7 +769,7 @@ typedef void (*SIG_PFV)(int); #include - #if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__) + #if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__) && defined(__GLIBC__) #include #endif @@ -994,7 +994,7 @@ static void SegvHandler(const int theSignal, void OSD::SetFloatingSignal(Standard_Boolean theFloatingSignal) { - #if defined(__linux__) + #if defined(__linux__) && defined(__GLIBC__) feclearexcept(FE_ALL_EXCEPT); if (theFloatingSignal) { @@ -1025,7 +1025,7 @@ void OSD::SetFloatingSignal(Standard_Boolean theFloatingSignal) Standard_Boolean OSD::ToCatchFloatingSignals() { - #if defined(__linux__) + #if defined(__linux__) && defined(__GLIBC__) return (fegetexcept() & _OSD_FPX) != 0; #else return Standard_False;