All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] sedutil: fix compile errors on big endian architectures
@ 2018-11-23 14:48 Primoz Fiser
  0 siblings, 0 replies; only message in thread
From: Primoz Fiser @ 2018-11-23 14:48 UTC (permalink / raw)
  To: openembedded-devel

Patch fixes compile errors by defining empty macros as
hinted by TODO mark in the sources.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
---
 ...001-Fix-build-on-big-endian-architectures.patch | 41 ++++++++++++++++++++++
 meta-oe/recipes-extended/sedutil/sedutil_git.bb    |  4 ++-
 2 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch

diff --git a/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
new file mode 100644
index 0000000..7351197
--- /dev/null
+++ b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
@@ -0,0 +1,41 @@
+From ff98a326d5faa585f0e15e51a558cc2c49aa8099 Mon Sep 17 00:00:00 2001
+From: Primoz Fiser <primoz.fiser@norik.com>
+Date: Fri, 23 Nov 2018 08:31:29 +0100
+Subject: [PATCH] Fix build on big endian architectures
+
+Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
+---
+ Common/DtaEndianFixup.h | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/Common/DtaEndianFixup.h b/Common/DtaEndianFixup.h
+index 58eb3ff..184fce0 100644
+--- a/Common/DtaEndianFixup.h
++++ b/Common/DtaEndianFixup.h
+@@ -31,12 +31,11 @@ along with sedutil.  If not, see <http://www.gnu.org/licenses/>.
+ //TODO: add a test on the endianess of the system and define
+ //  empty macros if the system is big endian
+ #pragma once
+-#ifdef __gnu_linux__
+-#include <endian.h>
+-#if __BYTE_ORDER != __LITTLE_ENDIAN
+-#error This code does not support big endian architectures
+-#endif
+-#endif
++#if defined(__BYTE_ORDER__)&&(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
++#define SWAP16(x) x
++#define SWAP32(x) x
++#define SWAP64(x) x
++#else
+ /** change the "endianess" of a 16bit field */
+ #define SWAP16(x) ((uint16_t) ((x & 0x00ff) << 8) | ((x & 0xff00) >> 8))
+ /** change the "endianess" of a 32bit field */
+@@ -47,3 +46,5 @@ along with sedutil.  If not, see <http://www.gnu.org/licenses/>.
+ 	((uint64_t) (SWAP32((x & 0x00000000ffffffff)) << 32) | \
+ 	((uint64_t) (SWAP32((x >> 32))) )    \
+ 	)
++
++#endif
+-- 
+2.7.4
+
diff --git a/meta-oe/recipes-extended/sedutil/sedutil_git.bb b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
index cec569f..7656184 100644
--- a/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -10,7 +10,9 @@ LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae5
 BASEPV = "1.15.1"
 PV = "${BASEPV}+git${SRCPV}"
 SRCREV = "358cc758948be788284d5faba46ccf4cc1813796"
-SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git"
+SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git \
+	file://0001-Fix-build-on-big-endian-architectures.patch \
+"
 
 S = "${WORKDIR}/git"
 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-11-23 14:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-23 14:48 [meta-oe][PATCH] sedutil: fix compile errors on big endian architectures Primoz Fiser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.