|
@@ -1,47 +0,0 @@
|
|
|
-From e0803c0bdbb1abf06b6b5bb1b52fdb733505b8f7 Mon Sep 17 00:00:00 2001
|
|
|
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
-Date: Wed, 25 Jan 2017 22:41:02 +1300
|
|
|
-Subject: [PATCH] src/regex.c: support old compilers for the endian
|
|
|
- check
|
|
|
-
|
|
|
-libselinux 2.6 has added some code in regex.c that uses __BYTE_ORDER__
|
|
|
-to determine the system endianness. Unfortunately, this definition
|
|
|
-provided directly by the compiler doesn't exist in older gcc versions
|
|
|
-such as gcc 4.4.
|
|
|
-
|
|
|
-In order to address this, this commit extends the logic to use
|
|
|
-<endian.h> definitions if __BYTE_ORDER__ is not provided by the
|
|
|
-compiler. This allows libselinux to build properly with gcc 4.4.
|
|
|
-
|
|
|
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
----
|
|
|
- src/regex.c | 13 ++++++++++++-
|
|
|
- 1 file changed, 12 insertions(+), 1 deletion(-)
|
|
|
-
|
|
|
-diff --git a/src/regex.c b/src/regex.c
|
|
|
-index a3b427b..0c5ad27 100644
|
|
|
---- a/src/regex.c
|
|
|
-+++ b/src/regex.c
|
|
|
-@@ -13,7 +13,18 @@
|
|
|
- #endif
|
|
|
-
|
|
|
- #ifndef __BYTE_ORDER__
|
|
|
--#error __BYTE_ORDER__ not defined. Unable to determine endianness.
|
|
|
-+
|
|
|
-+/* If the compiler doesn't define __BYTE_ORDER__, try to use the C
|
|
|
-+ * library <endian.h> header definitions. */
|
|
|
-+#include <endian.h>
|
|
|
-+#ifndef __BYTE_ORDER
|
|
|
-+#error Neither __BYTE_ORDER__ nor __BYTE_ORDER defined. Unable to determine endianness.
|
|
|
-+#endif
|
|
|
-+
|
|
|
-+#define __ORDER_LITTLE_ENDIAN __LITTLE_ENDIAN
|
|
|
-+#define __ORDER_BIG_ENDIAN __BIG_ENDIAN
|
|
|
-+#define __BYTE_ORDER__ __BYTE_ORDER
|
|
|
-+
|
|
|
- #endif
|
|
|
-
|
|
|
- #ifdef USE_PCRE2
|
|
|
---
|
|
|
-2.7.4
|
|
|
-
|