summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch')
-rw-r--r--src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch b/src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch
new file mode 100644
index 0000000000..41699d4882
--- /dev/null
+++ b/src/3rdparty/pcre/patches/r1340_fix_jit_on_android.patch
@@ -0,0 +1,18 @@
+Index: sljit/sljitConfigInternal.h
+===================================================================
+--- sljit/sljitConfigInternal.h (revision 1339)
++++ sljit/sljitConfigInternal.h (working copy)
+@@ -221,6 +221,13 @@
+ #define SLJIT_CACHE_FLUSH(from, to) \
+ sys_icache_invalidate((char*)(from), (char*)(to) - (char*)(from))
+
++#elif defined __ANDROID__
++
++/* Android lacks __clear_cache; instead, cacheflush should be used. */
++
++#define SLJIT_CACHE_FLUSH(from, to) \
++ cacheflush((long)(from), (long)(to), 0)
++
+ #elif (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64)
+
+ /* The __clear_cache() implementation of GCC is a dummy function on PowerPC. */