Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5372: spinlock fails on iPad2
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-29 13:23:05
#5372: spinlock fails on iPad2
--------------------------------+-------------------------------------------
Reporter: Trantec@⦠| Owner: pdimov
Type: Bugs | Status: new
Milestone: To Be Determined | Component: smart_ptr
Version: Boost 1.41.0 | Severity: Showstopper
Resolution: | Keywords:
--------------------------------+-------------------------------------------
Comment (by pdimov):
Thanks, this is useful info. Can you please run the following tests for me
(each of those is independent of the others):
1. Modify spinlock_gcc_arm.hpp to contain memory barrier instructions as
follows:
- change {{{ "swp %0, %1, [%2]": }}} in {{{try_lock}}} to {{{ "swp %0, %1,
[%2]\n\tdmb": }}}
- change {{{ __asm__ __volatile__( "" ::: "memory" ); }}} in {{{unlock}}}
to {{{ __asm__ __volatile__( "dmb" ::: "memory" ); }}}
and see if this fixes things (this will need to be compiled in ARMv7
mode)?
2. Modify spinlock.hpp to use spinlock_sync.hpp instead of
spinlock_gcc_arm.hpp and see if this fixes things?
3. Modify sp_counted_base.hpp to use sp_counted_base_sync.hpp instead of
sp_counted_base_spin.hpp and see if this fixes shared_ptr? (In this case
the spinlock will be still broken but we'll apply 1 or 2 to it as well.)
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5372#comment:6> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:06 UTC