[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: