From 08fc9e9158174f841b3e2360ff96fc9ca7c595ec Mon Sep 17 00:00:00 2001 From: Petar Jovanovic Date: Tue, 10 Feb 2015 23:36:19 +0000 Subject: [PATCH] [mips] Add __clear_cache() definition for non-Android systems Make sure clear_cache() builtin has an appropriate definition for Linux. Call syscall(NR_cacheflush, ...). Differential Revision: http://reviews.llvm.org/D7205 llvm-svn: 228767 --- compiler-rt/lib/builtins/clear_cache.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler-rt/lib/builtins/clear_cache.c b/compiler-rt/lib/builtins/clear_cache.c index 61b1e9b..8dc0fb1 100644 --- a/compiler-rt/lib/builtins/clear_cache.c +++ b/compiler-rt/lib/builtins/clear_cache.c @@ -22,10 +22,10 @@ #include #endif -#if defined(__ANDROID__) && defined(__mips__) +#if defined(__mips__) #include #include - #ifdef __LP64__ + #if defined(__ANDROID__) && defined(__LP64__) /* * clear_mips_cache - Invalidates instruction cache for Mips. */ @@ -109,10 +109,10 @@ void __clear_cache(void *start, void *end) { #else compilerrt_abort(); #endif -#elif defined(__ANDROID__) && defined(__mips__) +#elif defined(__mips__) const uintptr_t start_int = (uintptr_t) start; const uintptr_t end_int = (uintptr_t) end; - #ifdef __LP64__ + #if defined(__ANDROID__) && defined(__LP64__) // Call synci implementation for short address range. const uintptr_t address_range_limit = 256; if ((end_int - start_int) <= address_range_limit) { -- 2.7.4