summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/boost
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2021-01-16 13:34:08 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-01-17 11:28:13 +0000
commit24a68ae82b8bde822bd8e16bdebec13f164977eb (patch)
treeb82fb02b083726df7ab26566091021595b50975d /meta/recipes-support/boost
parentfcfa2fc227337d8c799f1ba151cd66c267a048e8 (diff)
downloadpoky-24a68ae82b8bde822bd8e16bdebec13f164977eb.tar.gz
boost: drop arm-intrinsics.patch
This patch makes gcc produce broken code. It is unclear why it is there in the first place. Drop it. (From OE-Core rev: 5f3cace37496fe1dc4fd045f688f7d441505c437) Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/boost')
-rw-r--r--meta/recipes-support/boost/boost/arm-intrinsics.patch55
-rw-r--r--meta/recipes-support/boost/boost_1.75.0.bb2
2 files changed, 1 insertions, 56 deletions
diff --git a/meta/recipes-support/boost/boost/arm-intrinsics.patch b/meta/recipes-support/boost/boost/arm-intrinsics.patch
deleted file mode 100644
index fe85c69a82..0000000000
--- a/meta/recipes-support/boost/boost/arm-intrinsics.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1Upstream-Status: Backport
2
38/17/2010 - rebased to 1.44 by Qing He <qing.he@intel.com>
4
5diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp
6index b6359b5..78b1cc2 100644
7--- a/boost/smart_ptr/detail/atomic_count_sync.hpp
8+++ b/boost/smart_ptr/detail/atomic_count_sync.hpp
9@@ -33,17 +33,46 @@ public:
10
11 long operator++()
12 {
13+#ifdef __ARM_ARCH_7A__
14+ int v1, tmp;
15+ asm volatile ("1: \n\t"
16+ "ldrex %0, %1 \n\t"
17+ "add %0 ,%0, #1 \n\t"
18+ "strex %2, %0, %1 \n\t"
19+ "cmp %2, #0 \n\t"
20+ "bne 1b \n\t"
21+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
22+ );
23+#else
24 return __sync_add_and_fetch( &value_, 1 );
25+#endif
26 }
27
28 long operator--()
29 {
30+#ifdef __ARM_ARCH_7A__
31+ int v1, tmp;
32+ asm volatile ("1: \n\t"
33+ "ldrex %0, %1 \n\t"
34+ "sub %0 ,%0, #1 \n\t"
35+ "strex %2, %0, %1 \n\t"
36+ "cmp %2, #0 \n\t"
37+ "bne 1b \n\t"
38+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
39+ );
40+ return value_;
41+#else
42 return __sync_add_and_fetch( &value_, -1 );
43+#endif
44 }
45
46 operator long() const
47 {
48+#if __ARM_ARCH_7A__
49+ return value_;
50+#else
51 return __sync_fetch_and_add( &value_, 0 );
52+#endif
53 }
54
55 private:
diff --git a/meta/recipes-support/boost/boost_1.75.0.bb b/meta/recipes-support/boost/boost_1.75.0.bb
index 33137e236d..23b0ffc67e 100644
--- a/meta/recipes-support/boost/boost_1.75.0.bb
+++ b/meta/recipes-support/boost/boost_1.75.0.bb
@@ -1,7 +1,7 @@
1require boost-${PV}.inc 1require boost-${PV}.inc
2require boost.inc 2require boost.inc
3 3
4SRC_URI += "file://arm-intrinsics.patch \ 4SRC_URI += " \
5 file://boost-CVE-2012-2677.patch \ 5 file://boost-CVE-2012-2677.patch \
6 file://boost-math-disable-pch-for-gcc.patch \ 6 file://boost-math-disable-pch-for-gcc.patch \
7 file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ 7 file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \