diff options
| author | Simon Glass <sjg@chromium.org> | 2011-09-23 06:22:06 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2011-10-17 23:53:39 +0200 | 
| commit | a7551a3f790eca96be14ef3276326cdd63b5d2f4 (patch) | |
| tree | 9394cf731670216072b51f50116a8db45f3890dc /include/compiler.h | |
| parent | 65bf1d39f41b4e754a79122d45d6ba61fd9a9513 (diff) | |
| download | olio-uboot-2014.01-a7551a3f790eca96be14ef3276326cdd63b5d2f4.tar.xz olio-uboot-2014.01-a7551a3f790eca96be14ef3276326cdd63b5d2f4.zip | |
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 <sjg@chromium.org>
Diffstat (limited to 'include/compiler.h')
| -rw-r--r-- | include/compiler.h | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/include/compiler.h b/include/compiler.h index 4e047c7fd..54999a7e8 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -111,11 +111,25 @@ 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 +#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 |