[Libreoffice-commits] .: 2 commits - bridges/source README.cross

Tor Lillqvist tml at kemper.freedesktop.org
Fri Nov 11 12:59:55 PST 2011


 README.cross                                  |    4 -
 bridges/source/cpp_uno/gcc3_ios_arm/share.hxx |   73 +++++++++++++++++++++++++-
 2 files changed, 74 insertions(+), 3 deletions(-)

New commits:
commit 7ff1c270456e220fb22ee0a6300e11765a6c1ca2
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Nov 11 22:56:16 2011 +0200

    Add the ARM variant

diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/share.hxx b/bridges/source/cpp_uno/gcc3_ios_arm/share.hxx
index 8b105c0..5c2d4ed 100644
--- a/bridges/source/cpp_uno/gcc3_ios_arm/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/share.hxx
@@ -32,10 +32,79 @@
 #include <exception>
 #include <cstddef>
 
+// As this code is used both for the simulatos (x86) and device (ARM),
+// this file is a combination of the share.hxx in ../gcc3_linux_intel
+// and in ../gcc3_linux_arm.
+
+#ifdef __arm
+
 namespace CPPU_CURRENT_NAMESPACE
 {
 
-bool isSimpleReturnType(typelib_TypeDescription * pTD, bool recursive = false);
+    void dummy_can_throw_anything( char const * );
+
+    // -- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+    struct __cxa_exception
+    {
+        ::std::type_info *exceptionType;
+        void (*exceptionDestructor)(void *);
+
+        ::std::unexpected_handler unexpectedHandler;
+        ::std::terminate_handler terminateHandler;
+
+        __cxa_exception *nextException;
+
+        int handlerCount;
+#ifdef __ARM_EABI__
+    __cxa_exception *nextPropagatingException;
+    int propagationCount;
+#else
+        int handlerSwitchValue;
+        const unsigned char *actionRecord;
+        const unsigned char *languageSpecificData;
+        void *catchTemp;
+        void *adjustedPtr;
+#endif
+        _Unwind_Exception unwindHeader;
+    };
+
+    extern "C" void *__cxa_allocate_exception(
+        std::size_t thrown_size ) throw();
+    extern "C" void __cxa_throw (
+        void *thrown_exception, std::type_info *tinfo,
+        void (*dest) (void *) ) __attribute__((noreturn));
+
+    struct __cxa_eh_globals
+    {
+        __cxa_exception *caughtExceptions;
+        unsigned int uncaughtExceptions;
+#ifdef __ARM_EABI__
+    __cxa_exception *propagatingExceptions;
+#endif
+    };
+    extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
+
+    // -----
+
+    //====================================================================
+    void raiseException(
+        uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
+    //====================================================================
+    void fillUnoException(
+        __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
+}
+
+namespace arm
+{
+    enum armlimits { MAX_GPR_REGS = 4 };
+    bool return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef );
+}
+
+#else
+
+namespace CPPU_CURRENT_NAMESPACE
+{
 
 void dummy_can_throw_anything( char const * );
 
@@ -90,6 +159,8 @@ void raiseException(
 //==================================================================================================
 void fillUnoException(
     __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
+
+    bool isSimpleReturnType(typelib_TypeDescription * pTD, bool recursive = false);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 6f68a2f98628d472d988fca62915e93cbfc06df4
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Nov 11 21:47:59 2011 +0200

    Update example for iOS device: Use 5.0 SDK

diff --git a/README.cross b/README.cross
index ae1b2c6..0df25a8 100644
--- a/README.cross
+++ b/README.cross
@@ -278,8 +278,8 @@ The Apple tool-chain for iOS cross-building is available only for
 Mac OS X, so that is where I have been doing it.
 
 Here is my autogen.lastrun for iOS (device):
-CXX=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk
-CC=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk
+CXX=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
+CC=ccache /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
 CC_FOR_BUILD=ccache /Xcode3/usr/bin/gcc-4.0 -mmacosx-version-min=10.4
 CXX_FOR_BUILD=ccache /Xcode3/usr/bin/g++-4.0 -mmacosx-version-min=10.4
 --with-distro=LibreOfficeiOS


More information about the Libreoffice-commits mailing list