From 090ebe565ca60c7226524cb02c08da6ac5d8c0bc Mon Sep 17 00:00:00 2001 From: joerg Date: Fri, 21 Feb 2014 20:29:52 +0000 Subject: Reapply libc++ support. --- misc/libreoffice4/distinfo | 6 ++- ...es_source_cpp__uno_gcc3__linux__intel_share.hxx | 58 +++++++++++++++++++++ ..._source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx | 13 +++++ ...s_source_cpp__uno_gcc3__linux__x86-64_share.hxx | 60 ++++++++++++++++++++++ ...source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx | 13 +++++ 5 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx create mode 100644 misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx create mode 100644 misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx create mode 100644 misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx (limited to 'misc') diff --git a/misc/libreoffice4/distinfo b/misc/libreoffice4/distinfo index b7fe4a63b9d..9d35c0ae95f 100644 --- a/misc/libreoffice4/distinfo +++ b/misc/libreoffice4/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.7 2014/02/02 11:09:51 ryoon Exp $ +$NetBSD: distinfo,v 1.8 2014/02/21 20:29:52 joerg Exp $ SHA1 (libreoffice/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = 452eba922e4f41603539c9dc39947d2271e47093 RMD160 (libreoffice/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = dbeb7a7f8c89961ca2e544b810345d025561866b @@ -138,6 +138,10 @@ Size (libreoffice/libreoffice-help-4.2.0.4.tar.xz) = 1854864 bytes SHA1 (libreoffice/libreoffice-translations-4.2.0.4.tar.xz) = 41fb1ba1d5da7a0432b7a9ff10aba26e5fd36638 RMD160 (libreoffice/libreoffice-translations-4.2.0.4.tar.xz) = 12daf386191a2f5e518b99cb7a1324f52e6a22d5 Size (libreoffice/libreoffice-translations-4.2.0.4.tar.xz) = 127363960 bytes +SHA1 (patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx) = e127a8f380adb154dc90e1616700df28608b9469 +SHA1 (patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx) = 0d6a90764f38f25165cbf997e4b37699a5b1ab49 +SHA1 (patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx) = adb326c48a7dd05f2de56e12a7c15836545dab4e +SHA1 (patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx) = a27b4b580f53260b00bcbd5897986da2505f28ab SHA1 (patch-configure.ac) = 38d8d81518764f8589c7540ddc7687da2d347366 SHA1 (patch-odk_CustomTarget__classes.mk) = 991896c402d1d2505e5aacec5df78439c8e9a767 SHA1 (patch-solenv_gbuild_AllLangResTarget.mk) = c6fa51c74e3be0e9d4f18e1481039d44d6c3db98 diff --git a/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx new file mode 100644 index 00000000000..1cac1f59409 --- /dev/null +++ b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx @@ -0,0 +1,58 @@ +$NetBSD: patch-bridges_source_cpp__uno_gcc3__linux__intel_share.hxx,v 1.3 2014/02/21 20:29:52 joerg Exp $ + +--- bridges/source/cpp_uno/gcc3_linux_intel/share.hxx.orig 2014-01-27 21:35:34.000000000 +0000 ++++ bridges/source/cpp_uno/gcc3_linux_intel/share.hxx +@@ -19,18 +19,44 @@ + + #include "uno/mapping.h" + ++#include + #include + #include + #include + + #include + ++// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h ++#ifdef _LIBCPP_VERSION ++ ++namespace __cxxabiv1 ++{ ++ struct __class_type_info : public std::type_info ++ { ++ explicit __class_type_info( const char *__n ) : type_info( __n ) { } ++ virtual ~__class_type_info(); ++ }; ++ ++ struct __si_class_type_info : public __class_type_info ++ { ++ explicit __si_class_type_info( const char *__n, const __class_type_info *__b ) : ++ __class_type_info( __n ), __base_type( __b ) { } ++ virtual ~__si_class_type_info(); ++ const __class_type_info *__base_type; ++ }; ++} ++ + namespace CPPU_CURRENT_NAMESPACE + { + + void dummy_can_throw_anything( char const * ); + + // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h ++#ifdef _LIBCPP_VERSION ++using __cxxabiv1::__cxa_exception; ++using __cxxabiv1::__cxa_eh_globals; ++using ::_Unwind_Exception; ++#else + + struct _Unwind_Exception + { +@@ -66,7 +92,7 @@ struct __cxa_eh_globals + __cxa_exception *caughtExceptions; + unsigned int uncaughtExceptions; + }; +- ++#endif + } + + extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw(); diff --git a/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx new file mode 100644 index 00000000000..caf81ec265c --- /dev/null +++ b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx @@ -0,0 +1,13 @@ +$NetBSD: patch-bridges_source_cpp__uno_gcc3__linux__intel_uno2cpp.cxx,v 1.1 2014/02/21 20:29:52 joerg Exp $ + +--- bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx.orig 2014-01-27 21:35:34.000000000 +0000 ++++ bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx +@@ -203,7 +203,7 @@ static void cpp_call( + catch (...) + { + // fill uno exception +- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); ++ CPPU_CURRENT_NAMESPACE::fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); + + // temporary params + for ( ; nTempIndices--; ) diff --git a/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx new file mode 100644 index 00000000000..a1e5545564a --- /dev/null +++ b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx @@ -0,0 +1,60 @@ +$NetBSD: patch-bridges_source_cpp__uno_gcc3__linux__x86-64_share.hxx,v 1.3 2014/02/21 20:29:52 joerg Exp $ + +--- bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx.orig 2014-01-27 21:35:34.000000000 +0000 ++++ bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx +@@ -19,6 +19,7 @@ + + #include "sal/config.h" + ++#include + #include + #include + #include +@@ -31,11 +32,36 @@ + #include "config_gcc.h" + #include "uno/mapping.h" + +-namespace CPPU_CURRENT_NAMESPACE ++// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h ++#ifdef _LIBCPP_VERSION ++ ++namespace __cxxabiv1 + { ++ struct __class_type_info : public std::type_info ++ { ++ explicit __class_type_info( const char *__n ) : type_info( __n ) { } ++ virtual ~__class_type_info(); ++ }; ++ ++ struct __si_class_type_info : public __class_type_info ++ { ++ explicit __si_class_type_info( const char *__n, const __class_type_info *__b ) : ++ __class_type_info( __n ), __base_type( __b ) { } ++ virtual ~__si_class_type_info(); ++ const __class_type_info *__base_type; ++ }; ++} + +-// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h ++#endif ++ ++namespace CPPU_CURRENT_NAMESPACE ++{ + ++#ifdef _LIBCPP_VERSION ++using __cxxabiv1::__cxa_exception; ++using __cxxabiv1::__cxa_eh_globals; ++using ::_Unwind_Exception; ++#else + struct _Unwind_Exception + { + unsigned exception_class __attribute__((__mode__(__DI__))); +@@ -70,7 +96,7 @@ struct __cxa_eh_globals + __cxa_exception *caughtExceptions; + unsigned int uncaughtExceptions; + }; +- ++#endif + } + + // __cxa_get_globals is exported from libstdc++ since GCC 3.4.0 (CXXABI_1.3), diff --git a/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx new file mode 100644 index 00000000000..d9b9399502b --- /dev/null +++ b/misc/libreoffice4/patches/patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx @@ -0,0 +1,13 @@ +$NetBSD: patch-bridges_source_cpp__uno_gcc3__linux__x86-64_uno2cpp.cxx,v 1.3 2014/02/21 20:29:52 joerg Exp $ + +--- bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx.orig 2014-01-27 21:35:34.000000000 +0000 ++++ bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx +@@ -290,7 +290,7 @@ static void cpp_call( + catch (...) + { + // fill uno exception +- fillUnoException( ++ CPPU_CURRENT_NAMESPACE::fillUnoException( + reinterpret_cast< CPPU_CURRENT_NAMESPACE::__cxa_eh_globals * >( + __cxxabiv1::__cxa_get_globals())->caughtExceptions, + *ppUnoExc, pThis->getBridge()->getCpp2Uno()); -- cgit v1.2.3