svn commit: r210606 - head/sys/mips/include
Jayachandran C.
jchandra at FreeBSD.org
Thu Jul 29 14:04:29 UTC 2010
Author: jchandra
Date: Thu Jul 29 14:04:29 2010
New Revision: 210606
URL: http://svn.freebsd.org/changeset/base/210606
Log:
Update MIPS _stdint.h for 64 bit. Initial 64 bit changes for profile.h.
Modified:
head/sys/mips/include/_stdint.h
head/sys/mips/include/profile.h
Modified: head/sys/mips/include/_stdint.h
==============================================================================
--- head/sys/mips/include/_stdint.h Thu Jul 29 13:52:46 2010 (r210605)
+++ head/sys/mips/include/_stdint.h Thu Jul 29 14:04:29 2010 (r210606)
@@ -46,15 +46,28 @@
#define INT8_C(c) (c)
#define INT16_C(c) (c)
#define INT32_C(c) (c)
+#ifdef __mips_n64
+#define INT64_C(c) (c ## L)
+#else
#define INT64_C(c) (c ## LL)
+#endif
#define UINT8_C(c) (c)
#define UINT16_C(c) (c)
#define UINT32_C(c) (c ## U)
+#ifdef __mips_n64
+#define UINT64_C(c) (c ## UL)
+#else
#define UINT64_C(c) (c ## ULL)
+#endif
+#ifdef __mips_n64
+#define INTMAX_C(c) (c ## L)
+#define UINTMAX_C(c) (c ## UL)
+#else
#define INTMAX_C(c) (c ## LL)
#define UINTMAX_C(c) (c ## ULL)
+#endif
#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */
@@ -68,19 +81,19 @@
#define INT8_MIN (-0x7f-1)
#define INT16_MIN (-0x7fff-1)
#define INT32_MIN (-0x7fffffff-1)
-#define INT64_MIN (-0x7fffffffffffffffLL-1)
+#define INT64_MIN (-INTMAX_C(0x7fffffffffffffff)-1)
/* Maximum values of exact-width signed integer types. */
#define INT8_MAX 0x7f
#define INT16_MAX 0x7fff
#define INT32_MAX 0x7fffffff
-#define INT64_MAX 0x7fffffffffffffffLL
+#define INT64_MAX INTMAX_C(0x7fffffffffffffff)
/* Maximum values of exact-width unsigned integer types. */
#define UINT8_MAX 0xff
#define UINT16_MAX 0xffff
#define UINT32_MAX 0xffffffffU
-#define UINT64_MAX 0xffffffffffffffffULL
+#define UINT64_MAX UINTMAX_C(0xffffffffffffffff)
/*
* ISO/IEC 9899:1999
@@ -130,9 +143,15 @@
* ISO/IEC 9899:1999
* 7.18.2.4 Limits of integer types capable of holding object pointers
*/
+#ifdef __mips_n64
+#define INTPTR_MIN INT64_MIN
+#define INTPTR_MAX INT64_MAX
+#define UINTPTR_MAX UINT64_MAX
+#else
#define INTPTR_MIN INT32_MIN
#define INTPTR_MAX INT32_MAX
#define UINTPTR_MAX UINT32_MAX
+#endif
/*
* ISO/IEC 9899:1999
@@ -147,15 +166,24 @@
* 7.18.3 Limits of other integer types
*/
/* Limits of ptrdiff_t. */
+#ifdef __mips_n64
+#define PTRDIFF_MIN INT64_MIN
+#define PTRDIFF_MAX INT64_MAX
+#else
#define PTRDIFF_MIN INT32_MIN
#define PTRDIFF_MAX INT32_MAX
+#endif
/* Limits of sig_atomic_t. */
#define SIG_ATOMIC_MIN INT32_MIN
#define SIG_ATOMIC_MAX INT32_MAX
/* Limit of size_t. */
+#ifdef __mips_n64
+#define SIZE_MAX UINT64_MAX
+#else
#define SIZE_MAX UINT32_MAX
+#endif
#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */
/* Limits of wchar_t. */
Modified: head/sys/mips/include/profile.h
==============================================================================
--- head/sys/mips/include/profile.h Thu Jul 29 13:52:46 2010 (r210605)
+++ head/sys/mips/include/profile.h Thu Jul 29 14:04:29 2010 (r210606)
@@ -115,7 +115,11 @@ void stopguprof __P((struct gmonparam *p
#define FUNCTION_ALIGNMENT 4
-typedef unsigned int uintfptr_t;
+#ifdef __mips_n64
+typedef u_long uintfptr_t;
+#else
+typedef u_int uintfptr_t;
+#endif
#endif /* _KERNEL */
@@ -123,7 +127,11 @@ typedef unsigned int uintfptr_t;
* An unsigned integral type that can hold non-negative difference between
* function pointers.
*/
+#ifdef __mips_n64
+typedef u_long fptrdiff_t;
+#else
typedef u_int fptrdiff_t;
+#endif
#ifdef _KERNEL
More information about the svn-src-head
mailing list