+++ /dev/null
-From abe76789f8e7ce61b357f693eaed5b28feab5ce2 Mon Sep 17 00:00:00 2001
-From: Hollis Blanchard <hollis_blanchard@mentor.com>
-Date: Mon, 13 Aug 2018 12:11:33 -0700
-Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7
-
-The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat
-Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to
-use the (most conservative) __sync_synchronize() primitive provided by those
-older GCC versions.
-
-(Really, no __atomic or __sync operations are needed here at all, since POSIX
-4.12 "Memory Synchronization" says pthread_mutex_lock() and
-pthread_mutex_unlock() "synchronize memory with respect to other threads"...)
-
-Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
----
- src/label_file.h | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/src/label_file.h b/src/label_file.h
-index 2fa85474..47859baf 100644
---- a/src/label_file.h
-+++ b/src/label_file.h
-@@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
- * init_routine does not take a parameter, it's not possible
- * to use, so we generate the same effect with atomics and a
- * mutex */
-+#ifdef __ATOMIC_RELAXED
- regex_compiled =
- __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
-+#else
-+ /* GCC <4.7 */
-+ __sync_synchronize();
-+ regex_compiled = spec->regex_compiled;
-+#endif
- if (regex_compiled) {
- return 0; /* already done */
- }
-@@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
- __pthread_mutex_lock(&spec->regex_lock);
- /* Check if another thread compiled the regex while we waited
- * on the mutex */
-+#ifdef __ATOMIC_RELAXED
- regex_compiled =
- __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE);
-+#else
-+ /* GCC <4.7 */
-+ __sync_synchronize();
-+ regex_compiled = spec->regex_compiled;
-+#endif
- if (regex_compiled) {
- __pthread_mutex_unlock(&spec->regex_lock);
- return 0;
-@@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec,
- }
-
- /* Done. */
-+#ifdef __ATOMIC_RELAXED
- __atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE);
-+#else
-+ /* GCC <4.7 */
-+ spec->regex_compiled = true;
-+ __sync_synchronize();
-+#endif
- __pthread_mutex_unlock(&spec->regex_lock);
- return 0;
- }
---
-2.13.0
-
#
################################################################################
-LIBSELINUX_VERSION = 2.8
-LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524
+LIBSELINUX_VERSION = 2.9
+LIBSELINUX_SITE = https://github.com/SELinuxProject/selinux/releases/download/20190315
LIBSELINUX_LICENSE = Public Domain
LIBSELINUX_LICENSE_FILES = LICENSE
endif
LIBSELINUX_MAKE_OPTS += \
+ PYTHON=$(LIBSELINUX_PYLIBVER) \
PYINC="$(LIBSELINUX_PYINC)" \
PYSITEDIR=$(TARGET_DIR)/usr/lib/$(LIBSELINUX_PYLIBVER)/site-packages \
SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/"
HOST_LIBSELINUX_MAKE_OPTS = \
$(HOST_CONFIGURE_OPTS) \
+ PYTHON=$(HOST_LIBSELINUX_PYLIBVER) \
PREFIX=$(HOST_DIR) \
SHLIBDIR=$(HOST_DIR)/lib \
LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \