[U-Boot] [PATCH v4 04/19] sandbox: Add compiler defines to support a 64-bit x86_64 platform
Simon Glass
sjg at chromium.org
Tue Oct 4 07:26:35 CEST 2011
This sets __WORDSIZE to 8 correctly on 64-bit machines.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
Changes in v2:
- Update commit message to remove 'temporary'
- Allow __WORDSIZE to be defined in Makefile / elsewhere
include/compiler.h | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/include/compiler.h b/include/compiler.h
index 4e047c7..dc1a259 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -111,11 +111,21 @@ typedef unsigned int uint;
#include <linux/types.h>
#include <asm/byteorder.h>
+#if __SIZEOF_LONG__ == 8
+# define __WORDSIZE 64
+#elif __SIZEOF_LONG__ == 4
+# define __WORDSIZE 32
+#elif !defined __WORDSIZE
+#error "__SIZEOF_LONG__ has unexpected value"
+#endif
+
/* Types for `void *' pointers. */
#if __WORDSIZE == 64
typedef unsigned long int uintptr_t;
-#else
+#elif __WORDSIZE == 32
typedef unsigned int uintptr_t;
+#else
+#error "__WORDSIZE has unexpected value"
#endif
#endif
--
1.7.3.1
More information about the U-Boot
mailing list