Add FreeBSD support for __clear_cache.
authorRoman Divacky <rdivacky@freebsd.org>
Sun, 11 Jan 2015 18:21:11 +0000 (18:21 +0000)
committerRoman Divacky <rdivacky@freebsd.org>
Sun, 11 Jan 2015 18:21:11 +0000 (18:21 +0000)
llvm-svn: 225610

compiler-rt/lib/builtins/clear_cache.c

index 86e68af..4b46e8b 100644 (file)
 #if __APPLE__
   #include <libkern/OSCacheControl.h>
 #endif
+#if defined(__FreeBSD__) && defined(__arm__)
+  #include <sys/types.h>
+  #include <machine/sysarch.h>
+#endif
+
 #if defined(__NetBSD__) && defined(__arm__)
   #include <machine/sysarch.h>
 #endif
@@ -39,7 +44,7 @@ void __clear_cache(void *start, void *end) {
  * so there is nothing to do
  */
 #elif defined(__arm__) && !defined(__APPLE__)
-    #if defined(__NetBSD__)
+    #if defined(__FreeBSD__) || defined(__NetBSD__)
         struct arm_sync_icache_args arg;
 
         arg.addr = (uintptr_t)start;