
Helge Bahmann wrote:
On Tue, 15 Dec 2009, Phil Endecott wrote:
I will have a look at merging my ARM implementation with this ASAP. git-foo is probably the hardest part.
Hi Helge, I have posted a patch here: http://chezphil.org/tmp/boost_atomic_20091217.patch This has a certain amount of noise in it, sorry. This is the result of git diff e0fa477e1e812ffc0d94160bbc7bb28365c6fe1e where that commit code is from "git log". I presume there is a better way to do that. Feel free to educate me. A few points to note: - This needs a fix to boost/detail/endian.hpp per my message yesterday. - The oldish Boost tree that I have on that machine has boost/detail/spinlock_pool.hpp not boost/smart_ptr/detail/spinlock_pool.hpp (used in your fallback.hpp). Presumably it has been moved at some point; if it is now to be used here, perhaps it should move back to the higher-level directory? - I have suppressed a few unused args warnings in fallback.hpp. - My Linux code is completely untested as my cross-compiler is broken. Can anyone else help with this? - My asm version for ARM v6+ has been tested with Apple's iPhone cross-compiler and your tests/simple.cpp passes. - I don't know how to make this work in Thumb mode (this is a mode in which the processor uses a subset of the instruction set with a more compact encoding; it doesn't include all of the instructions and you can only change mode at function entry/exit.) ARM v7 also seems to be more complicated that I thought in this respect. Are there any Thumb experts out there? Now what I'd really like is for someone to port shared_ptr to use this... Regards, Phil.