Subject: Re: [boost] Help with a shared_ptr problem on Android (ARM)
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-04-17 09:32:28
On Thu, Apr 17, 2014 at 4:53 PM, Peter Dimov <lists_at_[hidden]> wrote:
> reports that spinlock_gcc_arm.hpp segfaults on a Nexus 7.
> Unfortunately, I know next to nothing about ARM or Android, so I wonder if
> someone can help with that.
I'm probably even less experienced with ARM than you are, but there is
an interesting comment in boost/atomic/detail/gcc-armv6plus.hpp that
explains some things about different ARM ISA versions.
>From Wikipedia it seems that Nexus 7 has an ARMv7 CPU, but the
compiler is probably reducing the target CPU to ARMv6 or even lower
(judging by the fact that __thumb__ is not defined). In this version
mcr instruction is used for a memory barrier. As I understand it, it's
basically an instruction for a co-processor (15 in this case). I
suspect that that particular SoC could have this co-processor number
reserved. Of course, all this is just a speculation on my part, so
take it with a grain of salt. It would be useful to see the backtrace
and disassembly to verify my theory.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk