U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Gray <jsg@jsg.id.au>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] compiler.h: use u-boot endian macros on OpenBSD
Date: Sat, 26 Nov 2016 15:18:00 +1100	[thread overview]
Message-ID: <20161126041800.22980-1-jsg@jsg.id.au> (raw)

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>
---
 include/compiler.h | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/include/compiler.h b/include/compiler.h
index 65b826e..a43fb6a 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -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)
-- 
2.10.2

             reply	other threads:[~2016-11-26  4:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-26  4:18 Jonathan Gray [this message]
2016-12-03 23:47 ` [U-Boot] compiler.h: use u-boot endian macros on OpenBSD Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161126041800.22980-1-jsg@jsg.id.au \
    --to=jsg@jsg.id.au \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox