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
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to