It seems that libatomic_ops provides an optimized implementation for ARMv6 and newer architectures. Unfortunately there are no asm functions for ARMv5, which should fallback automatically to the pthread implementation.
This proposed patch is already available in the Fedora package. This change should provide the pthread implementation when atomic_ops.h is included on ARMv5 and earlier architectures.
Please review and include this in the next release if it make sense. Thanks!
Thanks for the reply!
I will try to compile the sources when defining AO_REQUIRE_CAS and see if that works and report later again.
unfortunately does not seem to be sufficient to define AO_REQUIRE_CAS on ARMv5tel. The Fedora Bug 799153 contains a little test-case that can not be compiled without defining AO_USE_PTHREAD_DEFS.
Do you think this could be a bug in the path when AO_REQUIRE_CAS is defined?
Many thanks for looking into this, Ivan!
I'll have to dig a little further what causes this build to fail. Maybe defining AO_USE_PTHREAD_DEFS triggers some side effect somewhere...
When I have found an acceptable solution, I'll inform you again.
no sorry. I do not have any news yet, and will not be able to test in more detail on a real ARMv5 within the next few weeks.
No need to wait for this issue to be solved within libatomic_ops, as it may well be something else.
[DRAFT] test ao stack on osx #3