[compiler-rt] 8542dab - [compiler-rt] Implement __clear_cache() on OpenBSD/arm

Brad Smith via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 6 12:56:04 PDT 2020


Author: Brad Smith
Date: 2020-09-06T15:54:24-04:00
New Revision: 8542dab909f895a8b6812428bb5e1acf7ea15305

URL: https://github.com/llvm/llvm-project/commit/8542dab909f895a8b6812428bb5e1acf7ea15305
DIFF: https://github.com/llvm/llvm-project/commit/8542dab909f895a8b6812428bb5e1acf7ea15305.diff

LOG: [compiler-rt] Implement __clear_cache() on OpenBSD/arm

Added: 
    

Modified: 
    compiler-rt/lib/builtins/clear_cache.c

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/builtins/clear_cache.c b/compiler-rt/lib/builtins/clear_cache.c
index 72e02e613de5..29e31f55d499 100644
--- a/compiler-rt/lib/builtins/clear_cache.c
+++ b/compiler-rt/lib/builtins/clear_cache.c
@@ -33,7 +33,7 @@ uintptr_t GetCurrentProcess(void);
 #include <machine/sysarch.h>
 #endif
 
-#if defined(__OpenBSD__) && defined(__mips__)
+#if defined(__OpenBSD__) && (defined(__arm__) || defined(__mips__))
 // clang-format off
 #include <sys/types.h>
 #include <machine/sysarch.h>
@@ -58,7 +58,7 @@ void __clear_cache(void *start, void *end) {
 #elif defined(_WIN32) && (defined(__arm__) || defined(__aarch64__))
   FlushInstructionCache(GetCurrentProcess(), start, end - start);
 #elif defined(__arm__) && !defined(__APPLE__)
-#if defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
   struct arm_sync_icache_args arg;
 
   arg.addr = (uintptr_t)start;


        


More information about the llvm-commits mailing list