about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--posix/sys/types.h10
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e6223ed7cf..3dd2cb6dc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2006-02-28  Jakub Jelinek  <jakub@redhat.com>
 
+	* posix/sys/types.h [!__GNUC_PREREQ (2, 7)] (int64_t, u_int64_t):
+	typedef to long int resp. unsigned long int on 64-bit arches.
+
 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Include x86_64
 	umount.c rather than hppa umount.c.
 	* sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: Include sh chown.c
diff --git a/posix/sys/types.h b/posix/sys/types.h
index 0a645dbaad..04563a4abc 100644
--- a/posix/sys/types.h
+++ b/posix/sys/types.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1994,1995,1996,1997,1998,1999,2000,2001,2002
+/* Copyright (C) 1991,1992,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -163,7 +163,9 @@ typedef unsigned int uint;
 typedef	char int8_t;
 typedef	short int int16_t;
 typedef	int int32_t;
-#  if __GLIBC_HAVE_LONG_LONG
+#  if __WORDSIZE == 64
+typedef long int int64_t;
+#  elif __GLIBC_HAVE_LONG_LONG
 __extension__ typedef long long int int64_t;
 #  endif
 # endif
@@ -172,7 +174,9 @@ __extension__ typedef long long int int64_t;
 typedef	unsigned char u_int8_t;
 typedef	unsigned short int u_int16_t;
 typedef	unsigned int u_int32_t;
-# if __GLIBC_HAVE_LONG_LONG
+# if __WORDSIZE == 64
+typedef unsigned long int u_int64_t;
+# elif __GLIBC_HAVE_LONG_LONG
 __extension__ typedef unsigned long long int u_int64_t;
 # endif