diff --git a/libc/include/limits.h b/libc/include/limits.h
index d691a8f01..b9d435450 100644
--- a/libc/include/limits.h
+++ b/libc/include/limits.h
@@ -89,6 +89,22 @@
 #include <sys/syslimits.h>
 #endif
 
+/* GLibc compatibility definitions.
+   Note that these are defined by GCC's <limits.h>
+   only when __GNU_LIBRARY__ is defined, i.e. when
+   targetting GLibc. */
+#ifndef LONG_LONG_MIN
+#define LONG_LONG_MIN  LLONG_MIN
+#endif
+
+#ifndef LONG_LONG_MAX
+#define LONG_LONG_MAX  LLONG_MAX
+#endif
+
+#ifndef ULONG_LONG_MAX
+#define ULONG_LONG_MAX  ULLONG_MAX
+#endif
+
 #ifndef PAGESIZE
 #include <asm/page.h>
 #define  PAGESIZE  PAGE_SIZE
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index 2015ac08a..ef6b80e75 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -310,9 +310,4 @@ extern void  __pthread_cleanup_pop(__pthread_cleanup_t*  c,
 } /* extern "C" */
 #endif
 
-/************ TO FIX ************/
-
-#define LONG_LONG_MAX __LONG_LONG_MAX__
-#define LONG_LONG_MIN (-__LONG_LONG_MAX__ - 1)
-
 #endif /* _PTHREAD_H_ */