On 01/04/2016 17:51, Nathan Hjelm wrote:
This is done to provide the functionality when the compiler doesn't support inline asm. I do not know how testing is done with the atomics in opal/asm/base atomics so its possible some of them are incorrect. -Nathan
I should say that the testing is inaccurate. I finally looked at why opal_atomic_cmpset_32 was segfaulting on cygwin 64 bit tests and the reason is very simple, the calling convention on AMD64 for windows is different than on Linux. https://msdn.microsoft.com/en-us/library/ms235286.aspx https://en.wikipedia.org/wiki/X86_calling_conventions I wonder how testing of any ASM function is passing at all. Adding the "--enable-builtin-atomics" of which I was unaware, finally solved the failures. Regards Marco