From a7551a3f790eca96be14ef3276326cdd63b5d2f4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 23 Sep 2011 06:22:06 +0000 Subject: [PATCH] sandbox: Add compiler defines to support a 64-bit x86_64 platform This sets __WORDSIZE to 8 correctly on 64-bit machines. Signed-off-by: Simon Glass --- include/compiler.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/include/compiler.h b/include/compiler.h index 4e047c7fd2..54999a7e82 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -111,11 +111,25 @@ typedef unsigned int uint; #include #include +#if __SIZEOF_LONG__ == 8 +# define __WORDSIZE 64 +#elif __SIZEOF_LONG__ == 4 +# define __WORDSIZE 32 +#else +/* + * Assume 32-bit for now - only newer toolchains support this feature and + * this is only required for sandbox support at present. + */ +#define __WORDSIZE 32 +#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 -- 2.25.1