From 22011f8b6c06eb63ffd5f2c01d2da89ff57fa4bc Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 23 Feb 2014 16:25:34 +0100 Subject: [PATCH] ARM Atomics: implement __sync_syncronize GCC doesn't provide an ARM implementation of it. It's easy to write one for ARMv6 and above, while older archs will need this implemented as a syscall just like other atomics. --- src/system/libroot/os/arch/arm/atomic.S | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/system/libroot/os/arch/arm/atomic.S b/src/system/libroot/os/arch/arm/atomic.S index 56bddd9875..31068b2802 100644 --- a/src/system/libroot/os/arch/arm/atomic.S +++ b/src/system/libroot/os/arch/arm/atomic.S @@ -88,6 +88,13 @@ FUNCTION(atomic_get): bx lr FUNCTION_END(atomic_get) +/* void __sync_synchronize(void) + */ +FUNCTION(__sync_synchronize): + dmb + bx lr +FUNCTION_END(__sync_synchronize) + #endif /* ATOMIC_FUNCS_ARE_SYSCALLS */ #ifndef ATOMIC64_FUNCS_ARE_SYSCALLS