colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / include / compiler.h
index 4e047c7fd2cd08646a5e5b0bea47bb2dd46666c7..ed74c272b8c507b99e234369a81bf047a7ab9fc9 100644 (file)
@@ -15,7 +15,7 @@
     defined(__sun__)    || \
     defined(__APPLE__)
 # include <inttypes.h>
-#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__)
+#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) || defined(__OpenBSD__)
 # include <stdint.h>
 #endif
 
 # include <byteswap.h>
 #elif defined(__MACH__) || defined(__FreeBSD__)
 # include <machine/endian.h>
-typedef unsigned long ulong;
+#endif
+#ifdef __FreeBSD__
+# include <sys/endian.h> /* htole32 and friends */
+# define __BYTE_ORDER BYTE_ORDER
+# define __LITTLE_ENDIAN LITTLE_ENDIAN
+# define __BIG_ENDIAN BIG_ENDIAN
+#elif defined(__OpenBSD__)
+# include <endian.h>
+# define __BYTE_ORDER BYTE_ORDER
+# define __LITTLE_ENDIAN LITTLE_ENDIAN
+# define __BIG_ENDIAN BIG_ENDIAN
 #endif
 
+#include <time.h>
+
 typedef uint8_t __u8;
 typedef uint16_t __u16;
 typedef uint32_t __u32;
 typedef unsigned int uint;
+typedef unsigned long ulong;
 
 #define uswap_16(x) \
        ((((x) & 0xff00) >> 8) | \
@@ -107,23 +120,32 @@ typedef unsigned int uint;
 
 #else /* !USE_HOSTCC */
 
+/* Type for `void *' pointers. */
+typedef unsigned long int uintptr_t;
+
 #include <linux/string.h>
 #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;
-#endif
-
+/*
+ * 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
 
-/* compiler options */
-#define uninitialized_var(x)           x = x
+#endif /* USE_HOSTCC */
 
 #define likely(x)      __builtin_expect(!!(x), 1)
 #define unlikely(x)    __builtin_expect(!!(x), 0)
 
+#ifdef __LP64__
+#define MEM_SUPPORT_64BIT_DATA
+#endif
+
 #endif