]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/compiler.h
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / include / compiler.h
index 332618e9de9c04282433030c87b1b2272556ccb5..0734ed494274558a0656925220d7e4861da7231e 100644 (file)
@@ -25,8 +25,6 @@
 #include <stdio.h>
 #include <string.h>
 
-extern int errno;
-
 #if !defined(__WIN32__) && !defined(__MINGW32__)
 # include <sys/mman.h>
 #endif
@@ -46,15 +44,15 @@ extern int errno;
 #ifdef __linux__
 # include <endian.h>
 # include <byteswap.h>
-#elif defined(__MACH__)
+#elif defined(__MACH__) || defined(__FreeBSD__)
 # include <machine/endian.h>
 typedef unsigned long ulong;
-typedef unsigned int  uint;
 #endif
 
 typedef uint8_t __u8;
 typedef uint16_t __u16;
 typedef uint32_t __u32;
+typedef unsigned int uint;
 
 #define uswap_16(x) \
        ((((x) & 0xff00) >> 8) | \
@@ -113,14 +111,22 @@ typedef uint32_t __u32;
 #include <linux/types.h>
 #include <asm/byteorder.h>
 
-/* Types for `void *' pointers. */
-#if __WORDSIZE == 64
-typedef unsigned long int       uintptr_t;
+#if __SIZEOF_LONG__ == 8
+# define __WORDSIZE    64
+#elif __SIZEOF_LONG__ == 4
+# define __WORDSIZE    32
 #else
-typedef unsigned int            uintptr_t;
+/*
+ * 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
 
-#endif
+/* Type for `void *' pointers. */
+typedef unsigned long int uintptr_t;
+
+#endif /* USE_HOSTCC */
 
 /* compiler options */
 #define uninitialized_var(x)           x = x