Implement __sync_lock_test_and_set_4.

Change-Id: Ib986df235bd8695ee206880c2c51e33a424912db
diff --git a/lib/atomic-arm.c b/lib/atomic-arm.c
index ad82824..13d3b53 100644
--- a/lib/atomic-arm.c
+++ b/lib/atomic-arm.c
@@ -311,6 +311,18 @@
     return android_atomic_cas_val(oldval, newval, ptr);
 }
 
+uint32_t __sync_lock_test_and_set_4 (volatile uint32_t *ptr, uint32_t val)
+{
+   uint32_t status, prev;
+   android_memory_barrier();
+    do {
+      prev = *ptr;
+      status = android_atomic_cas_bool(prev, val, ptr);
+    } while (__builtin_expect(status != 0, 0));
+
+    return prev;
+}
+
 /* __sync_op_and_fetch functions */
 
 int32_t __sync_add_and_fetch_4(volatile int32_t *ptr, int32_t val)