--- bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx.orig 2019-08-29 21:51:57 UTC +++ bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx @@ -234,7 +234,7 @@ void raiseException( uno_Any * pUnoExc, uno_Mapping * void fillUnoException(uno_Any * pExc, uno_Mapping * pCpp2Uno) { - __cxa_exception * header = __cxa_get_globals()->caughtExceptions; + __cxxabiv1::__cxa_exception * header = __cxa_get_globals()->caughtExceptions; if (! header) terminate(); --- bridges/source/cpp_uno/gcc3_linux_powerpc64/share.hxx.orig 2019-09-18 14:12:06 UTC +++ bridges/source/cpp_uno/gcc3_linux_powerpc64/share.hxx @@ -25,6 +25,32 @@ #include #include +namespace __cxxabiv1 { +class __class_type_info: public std::type_info { +public: + explicit __class_type_info(char const * n): type_info(n) {} + ~__class_type_info() override; +}; +} + +namespace __cxxabiv1 { +class __si_class_type_info: public __class_type_info { +public: + __class_type_info const * __base_type; + explicit __si_class_type_info( + char const * n, __class_type_info const *base): + __class_type_info(n), __base_type(base) {} + ~__si_class_type_info() override; +}; +} + +namespace __cxxabiv1 { +extern "C" __cxa_eh_globals *__cxa_get_globals() throw(); +} +namespace __cxxabiv1 { +extern "C" std::type_info *__cxa_current_exception_type() throw(); +} + namespace CPPU_CURRENT_NAMESPACE { @@ -72,9 +98,6 @@ struct __cxa_eh_globals __cxa_exception *caughtExceptions; unsigned int uncaughtExceptions; }; - -extern "C" __cxa_eh_globals *__cxa_get_globals () throw(); -extern "C" std::type_info *__cxa_current_exception_type() throw(); void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );