Index: kernel/arch/arm32/src/atomic.c
===================================================================
--- kernel/arch/arm32/src/atomic.c	(revision 338d54a7c4a77bbe3bf0bdff3c750bad8bb1ea9a)
+++ kernel/arch/arm32/src/atomic.c	(revision 9ce35f067406cfc2d4e59addfe1e84524ba08fa4)
@@ -66,4 +66,33 @@
 }
 
+/* Naive implementations of the newer intrinsics. */
+
+_Bool __atomic_compare_exchange_4(void **mem, void **expected, void *desired, _Bool weak, int success, int failure)
+{
+	(void) weak;
+	(void) success;
+	(void) failure;
+
+	void *old = *expected;
+	void *new = __sync_val_compare_and_swap_4(mem, old, desired);
+	if (old == new) {
+		return 1;
+	} else {
+		*expected = new;
+		return 0;
+	}
+}
+
+void *__atomic_exchange_4(void **mem, void *val, int model)
+{
+	(void) model;
+
+	irq_spinlock_lock(&cas_lock, true);
+	void *old = *mem;
+	*mem = val;
+	irq_spinlock_unlock(&cas_lock, true);
+
+	return old;
+}
 
 /** @}
