-
Bug
-
Resolution: Fixed
-
P4
-
8, 11, 15, 16
-
b18
In atomic_bsd_zero.hpp and atomic_linux_zero.hpp there are uses of __sync_synchronize(). However, orderAccess_*_zero.hpp calls the kernel helper, because:
/*
* ARM Kernel helper for memory barrier.
* Using __asm __volatile ("":::"memory") does not work reliable on ARM
* and gcc __sync_synchronize(); implementation does not use the kernel
* helper for all gcc versions so it is unreliable to use as well.
*/
We need to clean this up to use OrderAccess::fence().
/*
* ARM Kernel helper for memory barrier.
* Using __asm __volatile ("":::"memory") does not work reliable on ARM
* and gcc __sync_synchronize(); implementation does not use the kernel
* helper for all gcc versions so it is unreliable to use as well.
*/
We need to clean this up to use OrderAccess::fence().