Index: uspace/lib/libc/arch/abs32le/include/atomic.h
===================================================================
--- uspace/lib/libc/arch/abs32le/include/atomic.h	(revision fb52db8f118975b401dbf28c2f4b1bef62c0328b)
+++ uspace/lib/libc/arch/abs32le/include/atomic.h	(revision 1e2e0c1eeb07d0d3faf4a5b53314c73e3b0c1a2a)
@@ -36,7 +36,20 @@
 #define LIBC_abs32le_ATOMIC_H_
 
+#include <bool.h>
+
 #define LIBC_ARCH_ATOMIC_H_
+#define CAS
 
 #include <atomicdflt.h>
+
+static inline bool cas(atomic_t *val, long ov, long nv)
+{
+	if (val->count == ov) {
+		val->count = nv;
+		return true;
+	}
+	
+	return false;
+}
 
 static inline void atomic_inc(atomic_t *val) {
Index: uspace/lib/libc/arch/abs32le/include/tls.h
===================================================================
--- uspace/lib/libc/arch/abs32le/include/tls.h	(revision fb52db8f118975b401dbf28c2f4b1bef62c0328b)
+++ uspace/lib/libc/arch/abs32le/include/tls.h	(revision 1e2e0c1eeb07d0d3faf4a5b53314c73e3b0c1a2a)
@@ -55,4 +55,6 @@
 }
 
+extern uintptr_t __aeabi_read_tp(void);
+
 #endif
 
