mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 04:34:22 +08:00
compiler.h: use u-boot endian macros on OpenBSD
When building u-boot on sparc64 and powerpc hosts it became clear that u-boot expects endian conversion defines to be macros: lib/crc32.c:87: error: braced-group within expression allowed only inside a function For OpenBSD switch from using system definitions equivalent to the u-boot ones and define glibc __BYTE_ORDER __BIG_ENDIAN __LITTLE_ENDIAN names, as at least some parts of the non-cross build assumes those names are present (ie crc32.c). Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
This commit is contained in:
parent
7e0b87c91a
commit
fd184b9c80
@ -52,6 +52,9 @@ typedef unsigned long ulong;
|
||||
# include <sys/endian.h> /* htole32 and friends */
|
||||
#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>
|
||||
@ -84,20 +87,7 @@ typedef unsigned int uint;
|
||||
# define uswap_64(x) _uswap_64(x, )
|
||||
#endif
|
||||
|
||||
#if defined(__OpenBSD__)
|
||||
#define cpu_to_le16(x) htole16(x)
|
||||
#define cpu_to_le32(x) htole32(x)
|
||||
#define cpu_to_le64(x) htole64(x)
|
||||
#define le16_to_cpu(x) letoh16(x)
|
||||
#define le32_to_cpu(x) letoh32(x)
|
||||
#define le64_to_cpu(x) letoh64(x)
|
||||
#define cpu_to_be16(x) htobe16(x)
|
||||
#define cpu_to_be32(x) htobe32(x)
|
||||
#define cpu_to_be64(x) htobe64(x)
|
||||
#define be16_to_cpu(x) betoh16(x)
|
||||
#define be32_to_cpu(x) betoh32(x)
|
||||
#define be64_to_cpu(x) betoh64(x)
|
||||
#elif __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
# define cpu_to_le16(x) (x)
|
||||
# define cpu_to_le32(x) (x)
|
||||
# define cpu_to_le64(x) (x)
|
||||
|
Loading…
Reference in New Issue
Block a user