summaryrefslogtreecommitdiff
path: root/bridges/source
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2019-11-29 16:03:27 +0100
committerJan Holesovsky <kendy@collabora.com>2019-12-05 11:02:01 +0100
commiteb15ac837e06087fb8148330e9171d6697d89ee6 (patch)
tree5accb155a2a778db3ce6872685b0f86e1231e37d /bridges/source
parenta8cd98c437f2c3b5c4f7c139aa7223c5cfb74d1a (diff)
android: Avoid throwing exceptions through the bridges.
From some reason it does not work, so let's do the same we are doing on iOS; at least for now. Change-Id: I915f8683a112548fc3defc1114f9dce3aa7be30e Reviewed-on: https://gerrit.libreoffice.org/84067 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/84204 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'bridges/source')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
index aaf48deb67ca..d11a11b0c965 100644
--- a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
@@ -457,10 +457,14 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
void bridges::cpp_uno::shared::VtableFactory::flushCode(
unsigned char const * begin, 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)(begin, end);
+#else
+ __builtin___clear_cache((char*)begin, (char*)end);
+#endif
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */