--- ./hw/xfree86/common/compiler.h.orig
+++ ./hw/xfree86/common/compiler.h
@@ -721,7 +721,7 @@
                          :"r"(val), "r"(addr), "i"(ASI_PL));
 }
 
-#elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
+#elif defined(__mips__) || (defined(__arm32__) && !defined(__GLIBC__))
 #if defined(__arm32__) || defined(__mips64)
 #define PORT_SIZE long
 #else
@@ -996,7 +996,7 @@
     return xf86ReadMmio32Le((void *) ioBase, port);
 }
 
-#elif defined(__arm__) && defined(__linux__)
+#elif defined(__arm__) && defined(__GLIBC__)
 
 /* for Linux on ARM, we use the LIBC inx/outx routines */
 /* note that the appropriate setup via "ioperm" needs to be done */
