Index: src/libcfa/bits/locks.h
===================================================================
--- src/libcfa/bits/locks.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
+++ src/libcfa/bits/locks.h	(revision b158d8f72e3080061893992480de9583b8368561)
@@ -9,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Oct 31 15:14:38 2017
-// Last Modified By : --
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Dec  8 16:02:22 2017
+// Update Count     : 1
 //
 
@@ -24,9 +24,11 @@
 #elif defined( __i386 ) || defined( __x86_64 )
 	#define Pause() __asm__ __volatile__ ( "pause" : : : )
+#elif defined( __ARM_ARCH )
+	#define Pause() __asm__ __volatile__ ( "nop" : : : )
 #else
 	#error unsupported architecture
 #endif
 
-#if defined( __i386 ) || defined( __x86_64 )
+#if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH )
 	// Intel recommendation
 	#define __ALIGN__ __attribute__(( aligned (128) ))
@@ -37,8 +39,8 @@
 #endif
 
-#if defined( __x86_64 )
+#if __SIZEOF_SIZE_T__ == 8
 	#define __lock_test_and_test_and_set( lock ) (lock) == 0 && __sync_lock_test_and_set_8( &(lock), 1 ) == 0
 	#define __lock_release( lock ) __sync_lock_release_8( &(lock) );
-#elif defined( __i386 )
+#elif __SIZEOF_SIZE_T__ == 4
 	#define __lock_test_and_test_and_set( lock ) (lock) == 0 && __sync_lock_test_and_set_4( &(lock), 1 ) == 0
 	#define __lock_release( lock ) __sync_lock_release_4( &(lock) );
@@ -48,5 +50,5 @@
 
 struct __spinlock_t {
-	__ALIGN__ volatile uintptr_t lock;
+	__ALIGN__ volatile size_t lock;
 	#ifdef __CFA_DEBUG__
 		const char * prev_name;
