Merge "Unhide EH helper needed by libgcc.a"
diff --git a/sources/cxx-stl/gabi++/src/call_unexpected.cc b/sources/cxx-stl/gabi++/src/call_unexpected.cc
index 4614aa9..ae5bd4c 100644
--- a/sources/cxx-stl/gabi++/src/call_unexpected.cc
+++ b/sources/cxx-stl/gabi++/src/call_unexpected.cc
@@ -78,10 +78,12 @@
   ctm_succeeded_with_ptr_to_base = 2
 };
 
-extern "C" type_match_result __cxa_type_match(_Unwind_Exception* ucbp,
-                                              const __shim_type_info* rttip,
-                                              bool is_reference_type,
-                                              void** matched_object) {
+
+extern "C" type_match_result __attribute__((visibility("default")))
+__cxa_type_match(_Unwind_Exception* ucbp,
+                 const __shim_type_info* rttip,
+                 bool is_reference_type,
+                 void** matched_object) {
 
   __cxa_exception* header = reinterpret_cast<__cxa_exception*>(ucbp+1)-1;
   type_match_result result = ctm_succeeded;
@@ -127,7 +129,8 @@
 }  // namespace
 
 #ifdef __arm__
-  extern "C" bool __cxa_begin_cleanup(_Unwind_Exception* exc) {
+  extern "C" bool   __attribute__((visibility("default")))
+  __cxa_begin_cleanup(_Unwind_Exception* exc) {
     __cxa_eh_globals *globals = __cxa_get_globals();
     __cxa_exception *header = reinterpret_cast<__cxa_exception*>(exc+1)-1;
     bool native = header->unwindHeader.exception_class == __gxx_exception_class;
@@ -179,7 +182,8 @@
   ".popsection                             \n"
   );
 
-  extern "C" void __cxa_call_unexpected(void* arg) {
+  extern "C" void __attribute__((visibility("default")))
+  __cxa_call_unexpected(void* arg) {
     _Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(arg);
     __cxa_exception* header = reinterpret_cast<__cxa_exception*>(unwind_exception+1)-1;
     bool native_exception = unwind_exception->exception_class == __gxx_exception_class;
@@ -241,7 +245,8 @@
     }
   }
 #else // ! __arm__
-  extern "C" void __cxa_call_unexpected(void* arg) {
+  extern "C" void __attribute__((visibility("default")))
+  __cxa_call_unexpected(void* arg) {
     _Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(arg);
     if (unwind_exception == 0) {
       call_terminate(unwind_exception);