[PATCH] Mark ecx register as clobbered

Kristian Rietveld kris at lanedo.com
Fri Oct 14 16:15:21 PDT 2011


The inline assembly code executes a function call and functions are
free to use eax, ecx and edx without preservation. We must thus mark
ecx as a clobber register.
---
 .../source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx   |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
index 9f00005..89f5381 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
@@ -119,7 +119,7 @@ void callVirtualMethod(
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( pReturnTypeDescr->eTypeClass )
     {
     case typelib_TypeClass_VOID:
-- 
1.7.4.4


--------------090105030503040107060107--


More information about the LibreOffice mailing list