Index: git/src/mongo/util/errno_util.cpp
===================================================================
--- git.orig/src/mongo/util/errno_util.cpp
+++ git/src/mongo/util/errno_util.cpp
@@ -49,6 +49,16 @@ const char kUnknownMsg[] = "Unknown erro
 const int kBuflen = 256;  // strerror strings in non-English locales can be large.
 }  // namespace
 
+inline char const * strerror_r_helper( char const * r, char const * )
+{
+    return r;
+}
+
+inline char const * strerror_r_helper( int r, char const * buffer )
+{
+    return r == 0? buffer: "Unknown error";
+}
+
 std::string errnoWithDescription(int errNumber) {
 #if defined(_WIN32)
     if (errNumber == -1)
@@ -63,7 +73,7 @@ std::string errnoWithDescription(int err
 
 #if defined(__GNUC__) && defined(_GNU_SOURCE) && \
     (!defined(__ANDROID_API__) || !(__ANDROID_API__ <= 22)) && !defined(EMSCRIPTEN)
-    msg = strerror_r(errNumber, buf, kBuflen);
+    msg = strerror_r_helper(strerror_r(errNumber, buf, kBuflen));
 #elif defined(_WIN32)
 
     LPWSTR errorText = nullptr;
