Index: libcxx/src/ios.cpp =================================================================== --- libcxx/src/ios.cpp +++ libcxx/src/ios.cpp @@ -58,6 +58,8 @@ && ev <= ELAST #elif defined(__linux__) && ev <= 4095 +#elif defined(_NEWLIB_VERSION) && defined(__ELASTERROR) + && ev <= __ELASTERROR #endif // ELAST ) return __do_message::message(ev); Index: libcxx/src/system_error.cpp =================================================================== --- libcxx/src/system_error.cpp +++ libcxx/src/system_error.cpp @@ -71,6 +71,9 @@ #elif defined(__linux__) if (ev > 4095) return string("unspecified generic_category error"); +#elif defined(_NEWLIB_VERSION) && defined(__ELASTERROR) + if (ev > __ELASTERROR) + return string("unspecified generic_category error"); #endif // ELAST return __do_message::message(ev); } @@ -106,6 +109,9 @@ #elif defined(__linux__) if (ev > 4095) return string("unspecified system_category error"); +#elif defined(_NEWLIB_VERSION) && defined(__ELASTERROR) + if (ev > __ELASTERROR) + return string("unspecified system_category error"); #endif // ELAST return __do_message::message(ev); } @@ -119,6 +125,9 @@ #elif defined(__linux__) if (ev > 4095) return error_condition(ev, system_category()); +#elif defined(_NEWLIB_VERSION) && defined(__ELASTERROR) + if (ev > __ELASTERROR) + return error_condition(ev, system_category()); #endif // ELAST return error_condition(ev, generic_category()); }