summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-12-11 14:33:18 +0100
committerJan Holesovsky <kendy@collabora.com>2019-06-05 22:19:29 +0200
commit842bb42189fadeb230fd9d5909ca300a2db40e54 (patch)
treecb9d7fd6206e72e0406caf91ad5aca3618cae72e
parent7a228e8dda93e1e0398e4b34bb564c58b7c47f36 (diff)
Export RTTI symbols from liblo-native-code.so, for binary UNO bridge
This will become important when switching armeabi-v7a to libc++/libc++abi/libunwind (coming soon) which uses address instead of string comparison when checking for type equality, so that exceptions thrown from the binary UNO bridge will need to use the exact same RTTI objects as referenced from the compiled catch clauses. Change-Id: If8bcb39212b5f5e154aee215cb5f471fe2dc4a7b Reviewed-on: https://gerrit.libreoffice.org/64965 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--android/Bootstrap/version.map1
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/except.cxx3
2 files changed, 1 insertions, 3 deletions
diff --git a/android/Bootstrap/version.map b/android/Bootstrap/version.map
index e12d9985e78f..067785410a7a 100644
--- a/android/Bootstrap/version.map
+++ b/android/Bootstrap/version.map
@@ -2,6 +2,7 @@ dummy {
global:
Java_*;
JNI_OnLoad;
+ _ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions
local:
*;
};
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
index b4a5117b81c0..46c7f9c85a7f 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
@@ -148,9 +148,6 @@ namespace CPPU_CURRENT_NAMESPACE
rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
#else
rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
- // Unfortunately dlsym for weak symbols doesn't work in
- // Android 4.0 at least, sigh, so we will always take the
- // else branch below.
#endif
if (rtti)