summaryrefslogtreecommitdiffstats
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-21 23:08:16 +0000
commitbe9459683442425be03583924c70113a430f1e31 (patch)
tree213c2fe6894cdd2b83821c88f1ceeeb03de45759
parent606500af507046bc62bd2d0a9beab6aec6604a24 (diff)
downloadpoky-be9459683442425be03583924c70113a430f1e31.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: 5d3354a1f03f17668c393049928375335059d4e5) Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 5f3cace37496fe1dc4fd045f688f7d441505c437) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/boost/boost/arm-intrinsics.patch55
-rw-r--r--meta/recipes-support/boost/boost_1.72.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.72.0.bb b/meta/recipes-support/boost/boost_1.72.0.bb
index 51c84bc935..df1cc16937 100644
--- a/meta/recipes-support/boost/boost_1.72.0.bb
+++ b/meta/recipes-support/boost/boost_1.72.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-Apply-boost-1.62.0-no-forced-flags.patch.patch \ 7 file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \