On 1/16/21 8:34 AM, Mans Rullgard wrote:
> This patch makes gcc produce broken code.  It is unclear why it is there
> in the first place.  Drop it.

I'm having flashbacks to a time where gcc didn't support
__sync_add_and_fetch and friends, so code that looks like this was
copedi around as a work around. Compilers caught up and this patch
should have been dropped years ago :)

I looked around and can't find any similar patterns in oe-core.

For amusement I looked in oe-classic and there are hints of this issue.
And this specific patch comes from oe-classic.

Thanks for finding this Mans!

Philip

> 
> Signed-off-by: Mans Rullgard <m...@mansr.com>
> ---
>  .../boost/boost/arm-intrinsics.patch          | 55 -------------------
>  meta/recipes-support/boost/boost_1.75.0.bb    |  2 +-
>  2 files changed, 1 insertion(+), 56 deletions(-)
>  delete mode 100644 meta/recipes-support/boost/boost/arm-intrinsics.patch
> 
> 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 fe85c69a827a..000000000000
> --- a/meta/recipes-support/boost/boost/arm-intrinsics.patch
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -Upstream-Status: Backport
> -
> -8/17/2010 - rebased to 1.44 by Qing He <qing...@intel.com>
> -
> -diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp 
> b/boost/smart_ptr/detail/atomic_count_sync.hpp
> -index b6359b5..78b1cc2 100644
> ---- a/boost/smart_ptr/detail/atomic_count_sync.hpp
> -+++ b/boost/smart_ptr/detail/atomic_count_sync.hpp
> -@@ -33,17 +33,46 @@ public:
> - 
> -     long operator++()
> -     {
> -+#ifdef __ARM_ARCH_7A__
> -+       int v1, tmp;
> -+       asm volatile ("1:                 \n\t"
> -+                     "ldrex   %0, %1     \n\t"
> -+                     "add     %0 ,%0, #1 \n\t"
> -+                     "strex   %2, %0, %1 \n\t"
> -+                     "cmp     %2, #0     \n\t"
> -+                     "bne     1b         \n\t"
> -+                     : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
> -+                    );
> -+#else
> -         return __sync_add_and_fetch( &value_, 1 );
> -+#endif
> -     }
> - 
> -     long operator--()
> -     {
> -+#ifdef __ARM_ARCH_7A__
> -+       int v1, tmp;
> -+       asm volatile ("1:                 \n\t"
> -+                     "ldrex   %0, %1     \n\t"
> -+                     "sub     %0 ,%0, #1 \n\t"
> -+                     "strex   %2, %0, %1 \n\t"
> -+                     "cmp     %2, #0     \n\t"
> -+                     "bne     1b         \n\t"
> -+                     : "=&r" (v1), "+Q"(value_), "=&r"(tmp)
> -+                    );
> -+       return value_;
> -+#else
> -         return __sync_add_and_fetch( &value_, -1 );
> -+#endif
> -     }
> - 
> -     operator long() const
> -     {
> -+#if __ARM_ARCH_7A__
> -+        return value_;
> -+#else
> -         return __sync_fetch_and_add( &value_, 0 );
> -+#endif
> -     }
> - 
> - private:
> diff --git a/meta/recipes-support/boost/boost_1.75.0.bb 
> b/meta/recipes-support/boost/boost_1.75.0.bb
> index 33137e236dba..23b0ffc67e29 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 @@
>  require boost-${PV}.inc
>  require boost.inc
>  
> -SRC_URI += "file://arm-intrinsics.patch \
> +SRC_URI += " \
>             file://boost-CVE-2012-2677.patch \
>             file://boost-math-disable-pch-for-gcc.patch \
>             
> file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
> 
> 
> 
> 
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146874): 
https://lists.openembedded.org/g/openembedded-core/message/146874
Mute This Topic: https://lists.openembedded.org/mt/79727098/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to