svn commit: r199541 - projects/ppc64/sys/powerpc/include
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Thu Nov 19 18:56:07 UTC 2009
Author: nwhitehorn
Date: Thu Nov 19 18:56:06 2009
New Revision: 199541
URL: http://svn.freebsd.org/changeset/base/199541
Log:
Fix some data type issues.
Modified:
projects/ppc64/sys/powerpc/include/_align.h
projects/ppc64/sys/powerpc/include/_limits.h
Modified: projects/ppc64/sys/powerpc/include/_align.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/_align.h Thu Nov 19 18:43:43 2009 (r199540)
+++ projects/ppc64/sys/powerpc/include/_align.h Thu Nov 19 18:56:06 2009 (r199541)
@@ -41,12 +41,14 @@
#ifndef _POWERPC_INCLUDE__ALIGN_H_
#define _POWERPC_INCLUDE__ALIGN_H_
+#include <sys/_types.h>
+
/*
* Round p (pointer or byte index) up to a correctly-aligned value
* for all data types (int, long, ...). The result is unsigned int
* and must be cast to any desired pointer type.
*/
-#define _ALIGNBYTES (sizeof(int) - 1)
-#define _ALIGN(p) (((unsigned)(p) + _ALIGNBYTES) & ~_ALIGNBYTES)
+#define _ALIGNBYTES (sizeof(register_t) - 1)
+#define _ALIGN(p) (((uintptr_t)(p) + _ALIGNBYTES) & ~_ALIGNBYTES)
#endif /* !_POWERPC_INCLUDE__ALIGN_H_ */
Modified: projects/ppc64/sys/powerpc/include/_limits.h
==============================================================================
--- projects/ppc64/sys/powerpc/include/_limits.h Thu Nov 19 18:43:43 2009 (r199540)
+++ projects/ppc64/sys/powerpc/include/_limits.h Thu Nov 19 18:56:06 2009 (r199541)
@@ -59,8 +59,7 @@
#define __INT_MAX 0x7fffffff /* max value for an int */
#define __INT_MIN (-0x7fffffff - 1) /* min value for an int */
-/* Bad hack for gcc configured to give 64-bit longs. */
-#ifdef _LARGE_LONG
+#if defined(_LARGE_LONG) || defined(__LP64__)
#define __ULONG_MAX 0xffffffffffffffffUL
#define __LONG_MAX 0x7fffffffffffffffL
#define __LONG_MIN (-0x7fffffffffffffffL - 1)
@@ -74,9 +73,13 @@
#define __LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */
#define __LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */
+#ifdef __powerpc64__
+#define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */
+#define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */
+#else
#define __SSIZE_MAX __INT_MAX /* max value for a ssize_t */
-
#define __SIZE_T_MAX __UINT_MAX /* max value for a size_t */
+#endif
#define __OFF_MAX __LLONG_MAX /* max value for an off_t */
#define __OFF_MIN __LLONG_MIN /* min value for an off_t */
@@ -86,7 +89,7 @@
#define __QUAD_MAX __LLONG_MAX /* max value for a quad_t */
#define __QUAD_MIN __LLONG_MIN /* min value for a quad_t */
-#ifdef _LARGE_LONG
+#if defined(_LARGE_LONG) || defined(__LP64__)
#define __LONG_BIT 64
#else
#define __LONG_BIT 32
More information about the svn-src-projects
mailing list