------------------------------------------------------------ revno: 1979 committer: Rene Engelhard <r...@debian.org> branch nick: debian timestamp: Thu 2010-05-06 15:54:00 +0200 message: update with newest patch also fixing extensions and reenable extensions on armel modified: changelog control patches/fix-arm-eabi-bridge.diff rules
=== modified file 'changelog' --- a/changelog 2010-05-06 11:27:13 +0000 +++ b/changelog 2010-05-06 13:54:00 +0000 @@ -2,6 +2,10 @@ * debian/patches/cws-kfreebsdport01v2.diff: update to fix SDK for kfreebsd-* + * debian/patches/fix-arm-eabi-bridge.diff: update with newest patch + also fixing extensions + * debian/rules: + - reenable extensions on armel -- Rene Engelhard <r...@debian.org> Wed, 05 May 2010 13:20:25 +0200
=== modified file 'control' --- a/control 2010-04-30 10:27:18 +0000 +++ b/control 2010-05-06 13:54:00 +0000 @@ -3525,7 +3525,7 @@ Package: openoffice.org-presentation-minimizer Section: misc -Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 hppa ia64 ppc64 s390x sparc +Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 armel hppa ia64 ppc64 s390x sparc Pre-Depends: openoffice.org-common, debconf (>= 0.5) | debconf-2.0, procps Depends: ${shlibs:Depends}, openoffice.org-core (>= 2.3), openoffice.org-impress, ${misc:Depends} Enhances: openoffice.org-impress @@ -3545,7 +3545,7 @@ Package: openoffice.org-presenter-console Section: misc -Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 hppa ia64 ppc64 s390x sparc +Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 armel hppa ia64 ppc64 s390x sparc Conflicts: openoffice.org-presenter-screen, ure (<< 1.5.1+OOo3.1.1-15) Provides: openoffice.org-presenter-screen Replaces: openoffice.org-presenter-screen @@ -3573,7 +3573,7 @@ Package: openoffice.org-pdfimport Section: misc Priority: extra -Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 hppa ia64 ppc64 s390x sparc +Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 armel hppa ia64 ppc64 s390x sparc Pre-Depends: openoffice.org-common, debconf (>= 0.5) | debconf-2.0, procps Depends: ${shlibs:Depends}, openoffice.org-core (>= 1:3.0.0~bea300~dev300m6), ${misc:Depends} Conflicts: ure (<< 1.5.1+OOo3.1.1-15) @@ -3685,7 +3685,7 @@ Package: openoffice.org-sdbc-postgresql Section: misc -Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 hppa ia64 ppc64 s390x sparc +Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 armel hppa ia64 ppc64 s390x sparc Pre-Depends: openoffice.org-common, debconf (>= 0.5) | debconf-2.0, procps Depends: ${shlibs:Depends}, openoffice.org-core (>> 1:2.3.0~oog680m1), ${misc:Depends} Conflicts: openoffice.org-java-common (<< 2.3.0~src680m212), openoffice.org-gcj (<< 2.3.0~src680m212), ure (<< 1.5.1+OOo3.1.1-15) @@ -3700,7 +3700,7 @@ Package: openoffice.org-mysql-connector Section: misc -Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 hppa ia64 ppc64 s390x sparc +Architecture: i386 m68k mips mipsel powerpc s390 kfreebsd-i386 alpha amd64 kfreebsd-amd64 armel hppa ia64 ppc64 s390x sparc Pre-Depends: openoffice.org-common, debconf (>= 0.5) | debconf-2.0, procps Depends: ${shlibs:Depends}, openoffice.org-core (>> 1:3.2~), ${misc:Depends} Suggests: mysql-server (>= 5.1) === modified file 'patches/fix-arm-eabi-bridge.diff' --- a/patches/fix-arm-eabi-bridge.diff 2010-04-29 21:54:31 +0000 +++ b/patches/fix-arm-eabi-bridge.diff 2010-05-06 13:54:00 +0000 @@ -1,6 +1,6 @@ --- /dev/null 2010-04-22 23:53:48.512914234 +0200 +++ openoffice.org-3.2.0/ooo-build-3-2-0-10/patches/dev300/fix-arm-eabi-bridge.diff 2010-04-27 12:43:31.000000000 +0200 -@@ -0,0 +1,401 @@ +@@ -0,0 +1,464 @@ + +# HG changeset patch +# User Caolán McNamara <c...@openoffice.org> @@ -10,8 +10,8 @@ +armeabi02: #i105359# fix arm-eabi uno bridge, fix exception handling, and fix struct returning rules + +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S -+--- /dev/null Thu Jan 01 00:00:00 1970 +0000 -++++ bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S Tue Apr 27 11:17:28 2010 +0100 ++--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++++ bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S Tue Apr 27 11:17:28 2010 +0100 +@@ -0,0 +1,38 @@ ++@ ARM support code for OpenOffice C++/UNO bridging ++@ @@ -52,8 +52,8 @@ ++ .size privateSnippetExecutor, . - privateSnippetExecutor ++ .section .note.GNU-stack,"",%progbits +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s -+--- bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s Wed Apr 21 18:35:51 2010 +0200 -++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 ++--- bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s Wed Apr 21 18:35:51 2010 +0200 +++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,22 +0,0 @@ +-@ ARM support code for OpenOffice C++/UNO bridging +-@ @@ -78,8 +78,8 @@ +- ldr fp, [sp, #-32] @ restore frame pointer +- ldr pc, [sp, #-24] @ return +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx -+--- bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx Wed Apr 21 18:35:51 2010 +0200 -++++ bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx Tue Apr 27 11:17:28 2010 +0100 ++--- bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx Wed Apr 21 18:35:51 2010 +0200 +++++ bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx Tue Apr 27 11:17:28 2010 +0100 +@@ -76,10 +76,8 @@ + + if (pReturnTypeDescr) @@ -92,7 +92,39 @@ + else // complex return via ptr (pCppReturn) + { + pCppReturn = *(void **)pCppStack; -+@@ -422,9 +420,9 @@ ++@@ -410,8 +408,30 @@ ++ void **pCallStack ) ++ { ++ sal_Int64 nRegReturn; ++- cpp_mediate( pFunctionAndOffset[0], pFunctionAndOffset[1], pCallStack, +++ typelib_TypeClass aType = cpp_mediate( pFunctionAndOffset[0], pFunctionAndOffset[1], pCallStack, ++ &nRegReturn ); +++ +++ switch( aType ) +++ { +++ case typelib_TypeClass_BOOLEAN: +++ case typelib_TypeClass_BYTE: +++ nRegReturn = (unsigned long)(*(unsigned char *)&nRegReturn); +++ break; +++ case typelib_TypeClass_CHAR: +++ case typelib_TypeClass_UNSIGNED_SHORT: +++ case typelib_TypeClass_SHORT: +++ nRegReturn = (unsigned long)(*(unsigned short *)&nRegReturn); +++ break; +++ case typelib_TypeClass_ENUM: +++ case typelib_TypeClass_UNSIGNED_LONG: +++ case typelib_TypeClass_LONG: +++ nRegReturn = (unsigned long)(*(unsigned int *)&nRegReturn); +++ break; +++ case typelib_TypeClass_VOID: +++ default: +++ break; +++ } +++ ++ return nRegReturn; ++ } ++ ++@@ -422,9 +442,9 @@ + const int codeSnippetSize = 20; + + unsigned char *codeSnippet(unsigned char* code, sal_Int32 functionIndex, @@ -104,7 +136,7 @@ + functionIndex |= 0x80000000; + + unsigned long * p = (unsigned long *)code; -+@@ -478,24 +476,25 @@ ++@@ -478,24 +498,25 @@ + switch (member->eTypeClass) + { + case typelib_TypeClass_INTERFACE_ATTRIBUTE: @@ -138,7 +170,7 @@ + case typelib_TypeClass_INTERFACE_METHOD: + { + (s++)->fn = code + writetoexecdiff; -+@@ -504,11 +503,8 @@ ++@@ -504,11 +525,8 @@ + reinterpret_cast< + typelib_InterfaceMethodTypeDescription * >(member); + @@ -152,8 +184,8 @@ + } + default: +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/except.cxx -+--- bridges/source/cpp_uno/gcc3_linux_arm/except.cxx Wed Apr 21 18:35:51 2010 +0200 -++++ bridges/source/cpp_uno/gcc3_linux_arm/except.cxx Tue Apr 27 11:17:28 2010 +0100 ++--- bridges/source/cpp_uno/gcc3_linux_arm/except.cxx Wed Apr 21 18:35:51 2010 +0200 +++++ bridges/source/cpp_uno/gcc3_linux_arm/except.cxx Tue Apr 27 11:17:28 2010 +0100 +@@ -162,8 +162,8 @@ + else + { @@ -175,8 +207,8 @@ + } + } +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk -+--- bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk Wed Apr 21 18:35:51 2010 +0200 -++++ bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk Tue Apr 27 11:17:28 2010 +0100 ++--- bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk Wed Apr 21 18:35:51 2010 +0200 +++++ bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk Tue Apr 27 11:17:28 2010 +0100 +@@ -80,5 +80,5 @@ + + .INCLUDE : target.mk @@ -185,8 +217,8 @@ ++$(SLO)$/%.obj: %.S + $(CXX) -c -o $(SLO)$/$(@:b).o $< -fPIC ; touch $@ +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/share.hxx -+--- bridges/source/cpp_uno/gcc3_linux_arm/share.hxx Wed Apr 21 18:35:51 2010 +0200 -++++ bridges/source/cpp_uno/gcc3_linux_arm/share.hxx Tue Apr 27 11:17:28 2010 +0100 ++--- bridges/source/cpp_uno/gcc3_linux_arm/share.hxx Wed Apr 21 18:35:51 2010 +0200 +++++ bridges/source/cpp_uno/gcc3_linux_arm/share.hxx Tue Apr 27 11:17:28 2010 +0100 +@@ -89,5 +89,12 @@ + void fillUnoException( + __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); @@ -201,9 +233,9 @@ + #endif + /* vi:set tabstop=4 shiftwidth=4 expandtab: */ +diff -r bdd775934f7f -r 36887d11c60f bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx -+--- bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx Wed Apr 21 18:35:51 2010 +0200 -++++ bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx Tue Apr 27 11:17:28 2010 +0100 -+@@ -105,17 +105,58 @@ ++--- bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx Wed Apr 21 18:35:51 2010 +0200 +++++ bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx Tue Apr 27 11:17:28 2010 +0100 ++@@ -105,50 +105,94 @@ + + namespace arm + { @@ -253,7 +285,7 @@ + } + +-void MapReturn(long r0, long r1, typelib_TypeClass eReturnType, void *pRegisterReturn) -++void MapReturn(long r0, long r1, typelib_TypeDescriptionReference * pReturnType, void *pRegisterReturn) +++void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionReference * pReturnType, sal_uInt32* pRegisterReturn) + { + #if !defined(__ARM_EABI__) && !defined(__SOFTFP__) + register float fret asm("f0"); @@ -265,7 +297,38 @@ + { + case typelib_TypeClass_HYPER: + case typelib_TypeClass_UNSIGNED_HYPER: -+@@ -149,6 +190,13 @@ ++- ((long*)pRegisterReturn)[1] = r1; +++ pRegisterReturn[1] = r1; ++ case typelib_TypeClass_LONG: ++ case typelib_TypeClass_UNSIGNED_LONG: ++ case typelib_TypeClass_ENUM: ++- ((long*)pRegisterReturn)[0] = r0; ++- break; ++ case typelib_TypeClass_CHAR: ++ case typelib_TypeClass_SHORT: ++ case typelib_TypeClass_UNSIGNED_SHORT: ++- *(unsigned short*)pRegisterReturn = (unsigned short)r0; ++- break; ++ case typelib_TypeClass_BOOLEAN: ++ case typelib_TypeClass_BYTE: ++- *(unsigned char*)pRegisterReturn = (unsigned char)r0; +++ pRegisterReturn[0] = r0; ++ break; ++ case typelib_TypeClass_FLOAT: ++ #if defined(__ARM_EABI__) || defined(__SOFTFP__) ++- ((long*)pRegisterReturn)[0] = r0; +++ pRegisterReturn[0] = r0; ++ #else ++ *(float*)pRegisterReturn = fret; ++ #endif ++ break; ++ case typelib_TypeClass_DOUBLE: ++ #if defined(__ARM_EABI__) || defined(__SOFTFP__) ++- ((long*)pRegisterReturn)[1] = r1; ++- ((long*)pRegisterReturn)[0] = r0; +++ pRegisterReturn[1] = r1; +++ pRegisterReturn[0] = r0; ++ #else + *(double*)pRegisterReturn = dret; + #endif + break; @@ -273,31 +336,31 @@ ++ case typelib_TypeClass_EXCEPTION: ++ { ++ if (!arm::return_in_hidden_param(pReturnType)) -++ ((long*)pRegisterReturn)[0] = r0; +++ pRegisterReturn[0] = r0; ++ break; ++ } + default: + break; + } -+@@ -162,7 +210,7 @@ -+ void * pThis, -+ sal_Int32 nVtableIndex, -+ void * pRegisterReturn, -+- typelib_TypeClass eReturnType, -++ typelib_TypeDescriptionReference * pReturnType, -+ sal_uInt32 *pStack, -+ sal_uInt32 nStack, -+ sal_uInt32 *pGPR, -+@@ -172,7 +220,7 @@ -+ void * pThis, -+ sal_Int32 nVtableIndex, -+ void * pRegisterReturn, -+- typelib_TypeClass eReturnType, -++ typelib_TypeDescriptionReference * pReturnType, -+ sal_uInt32 *pStack, -+ sal_uInt32 nStack, -+ sal_uInt32 *pGPR, -+@@ -201,23 +249,10 @@ ++@@ -162,7 +206,7 @@ ++ void * pThis, ++ sal_Int32 nVtableIndex, ++ void * pRegisterReturn, ++- typelib_TypeClass eReturnType, +++ typelib_TypeDescriptionReference * pReturnType, ++ sal_uInt32 *pStack, ++ sal_uInt32 nStack, ++ sal_uInt32 *pGPR, ++@@ -172,7 +216,7 @@ ++ void * pThis, ++ sal_Int32 nVtableIndex, ++ void * pRegisterReturn, ++- typelib_TypeClass eReturnType, +++ typelib_TypeDescriptionReference * pReturnType, ++ sal_uInt32 *pStack, ++ sal_uInt32 nStack, ++ sal_uInt32 *pGPR, ++@@ -201,23 +245,10 @@ + typedef void (*FunctionCall )( sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32); + FunctionCall pFunc = (FunctionCall)pMethod; + @@ -310,30 +373,30 @@ +- : : "r" (pGPR) +- : "r0", "r1", "r2", "r3" +- ); -++ (*pFunc)(pGPR[0], pGPR[1], pGPR[2], pGPR[3]); -+ ++- +- // tell gcc that r0 to r3 are not available to it +- register sal_uInt32 r0 asm("r0"); +- register sal_uInt32 r1 asm("r1"); +- register sal_uInt32 r2 asm("r2"); +- register sal_uInt32 r3 asm("r3"); -+- +++ (*pFunc)(pGPR[0], pGPR[1], pGPR[2], pGPR[3]); ++ +- (*pFunc)(r0, r1, r2, r3); ++ sal_uInt32 r0; ++ sal_uInt32 r1; + + // get return value + __asm__ __volatile__ ( -+@@ -225,7 +260,7 @@ ++@@ -225,7 +256,7 @@ + "mov %1, r1\n\t" + : "=r" (r0), "=r" (r1) : ); + +- MapReturn(r0, r1, eReturnType, pRegisterReturn); -++ MapReturn(r0, r1, pReturnType, pRegisterReturn); +++ MapReturn(r0, r1, pReturnType, (sal_uInt32*)pRegisterReturn); + } + } + -+@@ -312,14 +347,14 @@ ++@@ -312,14 +343,14 @@ + void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion + + bool bOverFlow = false; @@ -352,7 +415,7 @@ + else + { + // complex return via ptr -+@@ -390,6 +425,8 @@ ++@@ -390,6 +421,8 @@ + case typelib_TypeClass_DOUBLE: + INSERT_DOUBLE( pCppArgs[nPos], nGPR, pGPR, pStack, pStackStart, bOverFlow ); + break; @@ -361,7 +424,7 @@ + } + // no longer needed + TYPELIB_DANGER_RELEASE( pParamTypeDescr ); -+@@ -431,7 +468,7 @@ ++@@ -431,7 +464,7 @@ + { + callVirtualMethod( + pAdjustedThisPtr, aVtableSlot.index, @@ -370,7 +433,7 @@ + pStackStart, + (pStack - pStackStart), + pGPR, nGPR); -+@@ -504,15 +541,19 @@ ++@@ -504,15 +537,19 @@ + // is my surrogate + bridges::cpp_uno::shared::UnoInterfaceProxy * pThis + = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); @@ -390,7 +453,7 @@ + + VtableSlot aVtableSlot( + getVtableSlot( -+@@ -557,9 +598,11 @@ ++@@ -557,9 +594,11 @@ + } + case typelib_TypeClass_INTERFACE_METHOD: + { === modified file 'rules' --- a/rules 2010-05-01 19:03:06 +0000 +++ b/rules 2010-05-06 13:54:00 +0000 @@ -483,7 +483,7 @@ OOO_GCJ_JDK_ARCHS := hppa ia64 kfreebsd-i386 kfreebsd-amd64 mips mipsel OOO_OPENJDK_ARCHS := $(filter-out $(OOO_GCJ_JDK_ARCHS),$(OOO_JAVA_ARCHS)) -OOO_ARCH_DEP_EXTENSIONS_ARCHS := $(filter-out armel,$(OOO_ARCHS)) +OOO_ARCH_DEP_EXTENSIONS_ARCHS := $(OOO_ARCHS) ifeq (,$(findstring $(ARCH),$(OOO_ARCH_DEP_EXTENSIONS_ARCHS))) ENABLE_MINIMIZER=n