diff options
Diffstat (limited to 'editors/openoffice.org-vcltesttool/files/patch-bridges')
-rw-r--r-- | editors/openoffice.org-vcltesttool/files/patch-bridges | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/editors/openoffice.org-vcltesttool/files/patch-bridges b/editors/openoffice.org-vcltesttool/files/patch-bridges new file mode 100644 index 000000000000..8375332a3e20 --- /dev/null +++ b/editors/openoffice.org-vcltesttool/files/patch-bridges @@ -0,0 +1,173 @@ +Issuetracker : #i56947# +CWS : N/A +Author : <maho@openoffice.org> (JCA) +Description : FreeBSD porting : update files at bridges project +catch up version up of bridge project of GNU/Linux + +--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx Thu Sep 8 07:20:08 2005 ++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx Wed Oct 26 15:10:05 2005 +@@ -57,7 +57,7 @@ + typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return + sal_Int32 nParams, typelib_MethodParameter * pParams, + void ** pCallStack, +- sal_Int64 * pRegisterReturn /* space for register return */ ) ++ void * pReturnValue ) + { + // pCallStack: ret, [return ptr], this, params + char * pCppStack = (char *)(pCallStack +1); +@@ -74,7 +74,7 @@ + { + if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) + { +- pUnoReturn = pRegisterReturn; // direct way for simple types ++ pUnoReturn = pReturnValue; // direct way for simple types + } + else // complex return via ptr (pCppReturn) + { +@@ -215,7 +215,7 @@ + uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); + } + // complex return ptr is set to eax +- *(void **)pRegisterReturn = pCppReturn; ++ *static_cast< void ** >(pReturnValue) = pCppReturn; + } + if (pReturnTypeDescr) + { +@@ -228,7 +228,7 @@ + //================================================================================================== + extern "C" void cpp_vtable_call( + int nFunctionIndex, int nVtableOffset, void** pCallStack, +- sal_Int64 nRegReturn ) ++ void * pReturnValue ) + { + OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); + +@@ -275,7 +275,7 @@ + pCppI, aMemberDescr.get(), + ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef, + 0, 0, // no params +- pCallStack, &nRegReturn ); ++ pCallStack, pReturnValue ); + } + else + { +@@ -290,7 +290,7 @@ + pCppI, aMemberDescr.get(), + 0, // indicates void return + 1, &aParam, +- pCallStack, &nRegReturn ); ++ pCallStack, pReturnValue ); + } + break; + } +@@ -324,7 +324,7 @@ + &pInterface, pTD, cpp_acquire ); + pInterface->release(); + TYPELIB_DANGER_RELEASE( pTD ); +- *(void **)&nRegReturn = pCallStack[1]; ++ *static_cast< void ** >(pReturnValue) = pCallStack[1]; + break; + } + TYPELIB_DANGER_RELEASE( pTD ); +@@ -336,7 +336,7 @@ + ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef, + ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams, + ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams, +- pCallStack, &nRegReturn ); ++ pCallStack, pReturnValue ); + } + break; + } +--- bridges/source/cpp_uno/gcc3_freebsd_intel/call.s Wed Jun 1 01:32:41 2005 ++++ bridges/source/cpp_uno/gcc3_freebsd_intel/call.s Wed Oct 26 15:10:04 2005 +@@ -9,12 +9,13 @@ + .LCFIg0: + movl %esp,%ebp + .LCFIg1: +- subl $0x8,%esp # 64bit nRegReturn ++ subl $0x4,%esp # 32bit returnValue ++ pushl %esp # 32bit &returnValue + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex + call cpp_vtable_call +- movl 12(%esp),%eax # 64 bit nRegReturn, lower half ++ movl 16(%esp),%eax # 32bit returnValue + leave + ret + .LFEg: +@@ -29,7 +30,7 @@ + .LCFIv0: + movl %esp,%ebp + .LCFIv1: +- subl $0x8,%esp # 64bit nRegReturn ++ pushl $0 # 32bit null pointer (returnValue not used) + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex +@@ -48,13 +49,14 @@ + .LCFIh0: + movl %esp,%ebp + .LCFIh1: +- subl $0x8,%esp # 64bit nRegReturn ++ subl $0x8,%esp # 64bit returnValue ++ pushl %esp # 32bit &returnValue + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex + call cpp_vtable_call +- movl 12(%esp),%eax # 64 bit nRegReturn, lower half +- movl 16(%esp),%edx # 64 bit nRegReturn, upper half ++ movl 16(%esp),%eax # 64bit returnValue, lower half ++ movl 20(%esp),%edx # 64bit returnValue, upper half + leave + ret + .LFEh: +@@ -69,12 +71,13 @@ + .LCFIf0: + movl %esp,%ebp + .LCFIf1: +- subl $0x8,%esp # 64bit nRegReturn ++ subl $0x4,%esp # 32bit returnValue ++ pushl %esp # 32bit &returnValue + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex + call cpp_vtable_call +- flds 12(%esp) # 64 bit nRegReturn, lower half ++ flds 16(%esp) # 32bit returnValue + leave + ret + .LFEf: +@@ -89,12 +92,13 @@ + .LCFId0: + movl %esp,%ebp + .LCFId1: +- subl $0x8,%esp # 64bit nRegReturn ++ subl $0x8,%esp # 64bit returnValue ++ pushl %esp # 32bit &returnValue + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex + call cpp_vtable_call +- fldl 12(%esp) # 64 bit nRegReturn ++ fldl 16(%esp) # 64bit returnValue + leave + ret + .LFEd: +@@ -109,12 +113,13 @@ + .LCFIc0: + movl %esp,%ebp + .LCFIc1: +- subl $0x8,%esp # 64bit nRegReturn ++ subl $0x4,%esp # 32bit returnValue ++ pushl %esp # 32bit &returnValue + pushl %ecx # 32bit pCallStack + pushl %edx # 32bit nVtableOffset + pushl %eax # 32bit nFunctionIndex + call cpp_vtable_call +- movl 12(%esp),%eax # 64 bit nRegReturn, lower half ++ movl 16(%esp),%eax # 32bit returnValue + leave + ret $4 + .LFEc: |