[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