From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Fri, 23 Sep 2011 09:22:06 -0700 Subject: [U-Boot] [RFC PATCH v2 04/20] sandbox: Add compiler defines to support a 64-bit x86_64 platform In-Reply-To: <1316794942-24709-1-git-send-email-sjg@chromium.org> References: <1316794942-24709-1-git-send-email-sjg@chromium.org> Message-ID: <1316794942-24709-5-git-send-email-sjg@chromium.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This sets __WORDSIZE to 8 correctly on 64-bit machines. Signed-off-by: Simon Glass --- 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 #include +#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