about summary refs log tree commit diff
path: root/posix/bits/posix1_lim.h
diff options
context:
space:
mode:
Diffstat (limited to 'posix/bits/posix1_lim.h')
-rw-r--r--posix/bits/posix1_lim.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/posix/bits/posix1_lim.h b/posix/bits/posix1_lim.h
index 90066ffae3..18ac47fb2b 100644
--- a/posix/bits/posix1_lim.h
+++ b/posix/bits/posix1_lim.h
@@ -24,6 +24,7 @@
 #ifndef	_BITS_POSIX1_LIM_H
 #define	_BITS_POSIX1_LIM_H	1
 
+#include <bits/wordsize.h>
 
 /* These are the standard-mandated minimum values.  */
 
@@ -161,7 +162,14 @@
 
 
 #ifndef	SSIZE_MAX
-# define SSIZE_MAX	LONG_MAX
+/* ssize_t is not formally required to be the signed type
+   corresponding to size_t, but it is for all configurations supported
+   by glibc.  */
+# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG
+#  define SSIZE_MAX	LONG_MAX
+# else
+#  define SSIZE_MAX	INT_MAX
+# endif
 #endif