--- gcc-4.3.3/boehm-gc/include/private/gc_locks.h.org 2009-12-06 06:46:46.298479999 +0100 +++ gcc-4.3.3/boehm-gc/include/private/gc_locks.h 2009-12-06 06:48:16.038566974 +0100 @@ -178,7 +178,11 @@ # endif # define GC_TEST_AND_SET_DEFINED inline static void GC_clear(volatile unsigned int *addr) { +#ifdef __NO_LWSYNC__ + __asm__ __volatile__("sync" : : : "memory"); +#else __asm__ __volatile__("lwsync" : : : "memory"); +#endif *(addr) = 0; } # define GC_CLEAR_DEFINED