Re: [Boost-bugs] [Boost C++ Libraries] #5372: spinlock fails on iPad2

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