The following commit has been merged in the master branch:
commit f29db0801e984619db8e00c3ac8d3f39753acb7d
Author: Rene Engelhard <[email protected]>
Date:   Thu Feb 23 17:41:57 2012 +0100

    actually add armhf-bridges-doubles.diff

diff --git a/patches/armhf-bridges-doubles.diff 
b/patches/armhf-bridges-doubles.diff
new file mode 100644
index 0000000..98dc978
--- /dev/null
+++ b/patches/armhf-bridges-doubles.diff
@@ -0,0 +1,145 @@
+--- /dev/null  2011-11-18 23:57:45.520533843 +0100
++++ 
libreoffice-3.4.5/libreoffice-build/patches/dev300/armhf-bridges-doubles.diff   
   2012-02-22 18:07:03.000000000 +0100
+@@ -0,0 +1,135 @@
++From e13dc26e394ede799a60691638971cf1d9689f74 Mon Sep 17 00:00:00 2001
++From: Jani Monoses <[email protected]>
++Date: Mon, 20 Feb 2012 23:15:02 +0000
++Subject: ARM bridge: fixes for passing double arguments on the stack
++
++---
++diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx 
b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
++index 07bdea1..9750b6a 100644
++--- bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
+++++ bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
++@@ -70,6 +70,7 @@ namespace
++         char * pCppStack = pTopStack;
++ 
++ #ifdef __ARM_PCS_VFP
+++        int dc = 0;
++         char * pFloatArgs = (char *)(pCppStack - 64);
++ #endif
++         // return
++@@ -152,6 +153,11 @@ namespace
++                     if ((pFloatArgs - pTopStack) % 8) 
pFloatArgs+=sizeof(float); //align to 8
++                     pCppArgs[nPos] = pUnoArgs[nPos] = pFloatArgs;
++                     pFloatArgs += sizeof(double);
+++                    if (++dc == arm::MAX_FPR_REGS) {
+++                        if (pCppStack - pTopStack < 16)
+++                            pCppStack = pTopStack + 16;
+++                        pFloatArgs = pCppStack;
+++                    }
++                 } else
++ #endif
++                     pCppArgs[nPos] = pUnoArgs[nPos] = pCppStack;
++diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx 
b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
++index 8e69ebee..98b29ba 100644
++--- bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
+++++ bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
++@@ -362,7 +362,8 @@ void callVirtualMethod(
++                 { \
++                     ++pDS; \
++                 } \
++-                *pDS++ = *reinterpret_cast<double *>( pSV );\
+++            *(double *)pDS = *reinterpret_cast<double *>( pSV );\
+++            pDS += 2;\
++         }
++ #else
++ #define INSERT_FLOAT( pSV, nr, pFPR, pDS ) \
++--
++cgit v0.9.0.2-2-gbebe
++
++From 99bf0c318b89c7d6acee364161b34b13d348a3bb Mon Sep 17 00:00:00 2001
++From: Caolán McNamara <[email protected]>
++Date: Fri, 17 Feb 2012 09:03:36 +0000
++Subject: add a uno test api with more than 8 floating point args
++
++I'm a cruel person, i.e. this targets the TODO of
++dab11f7fe2a2fa4155e4c4feaa5fc54e57cfbd37 in
++bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cx
++---
++diff --git a/testtools/com/sun/star/comp/bridge/TestComponent.java 
b/testtools/com/sun/star/comp/bridge/TestComponent.java
++index c63ff7f..757139a 100644
++--- testtools/com/sun/star/comp/bridge/TestComponent.java
+++++ testtools/com/sun/star/comp/bridge/TestComponent.java
++@@ -511,6 +511,10 @@ public class TestComponent {
++             return i2;
++         }
++ 
+++        public double testTenDoubles( double d1, double d2, double d3, 
double d4, double d5, double d6, double d7, double d8, double d9, double d10 ) {
+++            return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10;
+++        }
+++
++         // Attributes
++         public boolean getBool() throws com.sun.star.uno.RuntimeException {
++             return _bool;
++diff --git a/testtools/source/bridgetest/bridgetest.cxx 
b/testtools/source/bridgetest/bridgetest.cxx
++index 968c5f1..5e611da 100644
++--- testtools/source/bridgetest/bridgetest.cxx
+++++ testtools/source/bridgetest/bridgetest.cxx
++@@ -541,6 +541,11 @@ static sal_Bool performTest(
++                 sal_Int32 i2 = xLBT->testPPCAlignment(0, 0, 0, 0, 0xBEAF);
++                 bRet &= check(i2 == 0xBEAF, "ppc-style alignment test");
++             }
+++            {
+++                double d1 = xLBT->testTenDoubles(0.1, 0.2, 0.3, 0.4, 0.5,
+++                    0.6, 0.7, 0.8, 0.9, 1.0);
+++                bRet &= check(d1 == 5.5, "armhf doubles test");
+++            }
++             // Test extended attributes that raise exceptions:
++             try {
++                 xLBT->getRaiseAttr1();
++diff --git a/testtools/source/bridgetest/cli/cli_cs_testobj.cs 
b/testtools/source/bridgetest/cli/cli_cs_testobj.cs
++index 246d3e1..f89241b 100644
++--- testtools/source/bridgetest/cli/cli_cs_testobj.cs
+++++ testtools/source/bridgetest/cli/cli_cs_testobj.cs
++@@ -264,6 +264,11 @@ public class BridgeTestObject : WeakBase, 
XRecursiveCall, XBridgeTest2
++         return i2;
++     }
++ 
+++    double testTenDoubles( double d1, double d2, double d3, double d4, 
double d5, double d6, double d7, double d8, double d9, double d10 )
+++    {
+++        return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10;
+++    }
+++
++     // Attributes
++     public bool Bool
++     {
++diff --git a/testtools/source/bridgetest/cppobj.cxx 
b/testtools/source/bridgetest/cppobj.cxx
++index 0df13f5..def69d9 100644
++--- testtools/source/bridgetest/cppobj.cxx
+++++ testtools/source/bridgetest/cppobj.cxx
++@@ -230,7 +230,8 @@ public:
++         { return rStruct; }
++     virtual sal_Int32 SAL_CALL testPPCAlignment( sal_Int64, sal_Int64, 
sal_Int32, sal_Int64, sal_Int32 i2 ) 
throw(com::sun::star::uno::RuntimeException)
++         { return i2; }
++-
+++    virtual double SAL_CALL testTenDoubles( double d1, double d2, double d3, 
double d4, double d5, double d6, double d7, double d8, double d9, double d10 ) 
throw(com::sun::star::uno::RuntimeException)
+++        { return d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10; }
++     virtual sal_Bool SAL_CALL getBool() 
throw(com::sun::star::uno::RuntimeException)
++         { return _aData.Bool; }
++     virtual sal_Int8 SAL_CALL getByte() 
throw(com::sun::star::uno::RuntimeException)
++diff --git a/testtools/source/bridgetest/idl/bridgetest.idl 
b/testtools/source/bridgetest/idl/bridgetest.idl
++index 82db320..1e6f6aa 100644
++--- testtools/source/bridgetest/idl/bridgetest.idl
+++++ testtools/source/bridgetest/idl/bridgetest.idl
++@@ -314,6 +314,11 @@ interface XBridgeTestBase : 
com::sun::star::uno::XInterface
++      */
++     long testPPCAlignment( [in] hyper l1, [in] hyper l2, [in] long i1, [in] 
hyper l3, [in] long i2 );
++ 
+++    /**
+++     * VFP ABI (armhf) doubles test
+++     */
+++    double testTenDoubles( [in] double d1, [in] double d2, [in] double d3, 
[in] double d4, [in] double d5, [in] double d6, [in] double d7, [in] double d8, 
[in] double d9, [in] double d10 );
+++
++     [attribute] boolean                  Bool;
++     [attribute] byte                     Byte;
++     [attribute] char                     Char;
++--
++cgit v0.9.0.2-2-gbebe
+--- libreoffice-3.4.5/libreoffice-build/patches/dev300/apply-old        
2012-02-17 22:49:54.000000000 +0100
++++ libreoffice-3.4.5/libreoffice-build/patches/dev300/apply    2012-02-17 
22:49:59.000000000 +0100
+@@ -1418,3 +1418,4 @@
+ [ armhf ]
+ armhf-bridges.diff
+ armhf-bridges-fix-armv4t-armel.diff
++armhf-bridges-doubles.diff

-- 
LibreOffice packaging repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to