From 8fa75a8cca3cb8afd1030401b480cfc6d858ae42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sat, 12 Oct 2013 19:43:33 +0200 Subject: [PATCH] ARM: Add a fallback atomic_add() for bootloader When ATOMIC_FUNCS_ARE_SYSCALLS atomic.S doesn't export it, but it's used by packagefs. --- src/system/boot/arch/arm/kernel_stubs.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/system/boot/arch/arm/kernel_stubs.cpp b/src/system/boot/arch/arm/kernel_stubs.cpp index 6d1d60c2f8..79de7b9a9a 100644 --- a/src/system/boot/arch/arm/kernel_stubs.cpp +++ b/src/system/boot/arch/arm/kernel_stubs.cpp @@ -11,6 +11,7 @@ #include #include +#include extern "C" bool @@ -45,3 +46,16 @@ _mutex_unlock(mutex*, bool) { } + +#ifdef ATOMIC_FUNCS_ARE_SYSCALLS + +/* needed by packagefs */ +extern "C" int32 +atomic_add(vint32 *value, int32 addValue) +{ + int32 old = *value; + *value += addValue; + return old; +} + +#endif /*ATOMIC_FUNCS_ARE_SYSCALLS*/