[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] LibreOffice packaging repository branch, master, updated. libreoffice_3.4.5-3-2-gf29db08



The following commit has been merged in the master branch:
commit f29db0801e984619db8e00c3ac8d3f39753acb7d
Author: Rene Engelhard <rene@debian.org>
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 <jani@ubuntu.com>
++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 <caolanm@redhat.com>
++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


Reply to: