summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@suse.com>2012-01-13 12:30:46 +0200
committerTor Lillqvist <tlillqvist@suse.com>2012-01-13 13:04:31 +0200
commit617c8075aca140a09a57a3d9da4fdc80a64998c5 (patch)
tree32e911ea98d95adf925cd0642b5451c24b5d50be /bridges
parent6022e3caa12ba762bda7d50dcc540660712a1880 (diff)
Use cacheflush() on Android
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
index 9869bb5c9557..91b96cd02a3b 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
@@ -46,6 +46,9 @@
#include <dlfcn.h>
+#ifdef ANDROID
+#include <unistd.h>
+#endif
using namespace ::osl;
using namespace ::rtl;
@@ -551,10 +554,14 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
void bridges::cpp_uno::shared::VtableFactory::flushCode(
unsigned char const *beg, unsigned char const *end)
{
+#ifndef ANDROID
static void (*clear_cache)(unsigned char const*, unsigned char const*)
= (void (*)(unsigned char const*, unsigned char const*))
dlsym(RTLD_DEFAULT, "__clear_cache");
(*clear_cache)(beg, end);
+#else
+ cacheflush((long) beg, (long) end, 0);
+#endif
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */