]> code.ossystems Code Review - openembedded-core.git/commitdiff
boost: fix wrong type for mutex in regex v5
authorMingli Yu <mingli.yu@windriver.com>
Mon, 7 Jun 2021 07:59:11 +0000 (15:59 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Jun 2021 21:59:00 +0000 (22:59 +0100)
Fixes:
 | ./boost/regex/v5/mem_block_cache.hpp:91:11: error: 'static_mutex' in namespace 'boost' does not name a type
 |    91 |    boost::static_mutex mut;

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch [new file with mode: 0644]
meta/recipes-support/boost/boost_1.76.0.bb

diff --git a/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch b/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch
new file mode 100644 (file)
index 0000000..a8305ff
--- /dev/null
@@ -0,0 +1,54 @@
+From 6064875bff2e52ba63f01911eb4deb79259c5e3b Mon Sep 17 00:00:00 2001
+From: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
+Date: Thu, 3 Jun 2021 23:10:37 +0100
+Subject: [PATCH] Fixes wrong type for mutex in regex v5
+
+With the Boost.Regex to ehader-only library, the declaration
+of a mutex that should have been changed from boost::static_mutex
+to std::mutex was left behind. This was preventing regex from
+being built for older arm platforms [1]
+
+[1]: https://github.com/openwrt/packages/issues/15725
+
+Upstream-Status: Submitted [https://github.com/boostorg/regex/pull/132]
+
+Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ boost/regex/v5/mem_block_cache.hpp | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/boost/regex/v5/mem_block_cache.hpp b/boost/regex/v5/mem_block_cache.hpp
+index 0af4eae1..eb3ec776 100644
+--- a/boost/regex/v5/mem_block_cache.hpp
++++ b/boost/regex/v5/mem_block_cache.hpp
+@@ -85,10 +85,10 @@ struct mem_block_node
+ struct mem_block_cache
+ {
+    // this member has to be statically initialsed:
+-   mem_block_node* next;
+-   unsigned cached_blocks;
++   mem_block_node* next { nullptr };
++   unsigned cached_blocks { 0 };
+ #ifdef BOOST_HAS_THREADS
+-   boost::static_mutex mut;
++   std::mutex mut;
+ #endif
+    ~mem_block_cache()
+@@ -133,11 +133,7 @@ struct mem_block_cache
+    }
+    static mem_block_cache& instance()
+    {
+-#ifdef BOOST_HAS_THREADS
+-      static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
+-#else
+-      static mem_block_cache block_cache = { 0, 0, };
+-#endif
++      static mem_block_cache block_cache;
+       return block_cache;
+    }
+ };
+-- 
+2.29.2
+
index 23b0ffc67e293c99257011659d23b97ba1784e20..ae91b1c875363620a57d6cf9956d76c57aa2b83f 100644 (file)
@@ -7,4 +7,5 @@ SRC_URI += " \
            file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
            file://0001-dont-setup-compiler-flags-m32-m64.patch \
            file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \
+           file://0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch \
            "