# if defined(HAVE_KW_THREAD) && defined(USE_INCLUDED_LIBGC) && !defined(__powerpc__)
/* The local alloc stuff is in pthread_support.c, but solaris uses solaris_threads.c */
/* It is also disabled on solaris/x86 by libgc/configure.in */
-# if !defined(__sparc__) && !defined(__sun)
+ /*
+ * ARM has no definition for some atomic functions in gc_locks.h and
+ * support is also disabled in libgc/configure.in.
+ */
+# if !defined(__sparc__) && !defined(__sun) && !defined(__arm__) && !defined(__mips__)
# define GC_REDIRECT_TO_LOCAL
# endif
# endif
# error have boehm GC without headers, you probably need to install them by hand
# endif
-#if defined(PLATFORM_WIN32)
+#if defined(HOST_WIN32)
#define CreateThread GC_CreateThread
#endif
#elif defined(HAVE_SGEN_GC)
-#if defined(PLATFORM_WIN32)
+#if defined(HOST_WIN32)
#define CreateThread mono_gc_CreateThread
#else
/* pthread function wrappers */