diff --git a/src/system/libroot/os/atomic.c b/src/system/libroot/os/atomic.c index f8a9cbd89d..d7ad4ab4a0 100644 --- a/src/system/libroot/os/atomic.c +++ b/src/system/libroot/os/atomic.c @@ -89,12 +89,17 @@ atomic_get64(vint64 *value) #endif /* ATOMIC64_FUNCS_ARE_SYSCALLS */ +#ifdef __ARM__ + /* GCC compatibility: libstdc++ needs this one. * TODO: Update libstdc++ and drop this. * cf. http://fedoraproject.org/wiki/Architectures/ARM/GCCBuiltInAtomicOperations */ +extern int32_t __sync_fetch_and_add_4(int32_t *value, int32_t addValue); extern int32_t __sync_fetch_and_add_4(int32_t *value, int32_t addValue) { return atomic_add((vint32 *)value, addValue); } + +#endif