aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/openoffice-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel12
-rw-r--r--editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel12
-rw-r--r--editors/openoffice/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel12
3 files changed, 18 insertions, 18 deletions
diff --git a/editors/openoffice-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 20b13ea25cb2..777286e24b7b 100644
--- a/editors/openoffice-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -1255,7 +1255,9 @@
+ if (! pThis) dummy_can_throw_anything("xxx"); // address something
+
+ volatile long edx = 0, eax = 0; // for register returns
++ void * stackptr;
+ asm volatile (
++ "mov %%esp, %6\n\t"
+ // copy values
+ "mov %0, %%eax\n\t"
+ "mov %%eax, %%edx\n\t"
@@ -1279,13 +1281,11 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
-+ "mov %0, %%eax\n\t"
-+ "shl $2, %%eax\n\t"
-+ "add %%eax, %%esp\n\t"
++ "mov %6, %%esp\n\t"
+ :
-+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
-+ : "eax", "edx" );
-+
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
++ "m"(eax), "m"(edx), "m"(stackptr)
++ : "eax", "edx" );
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 20b13ea25cb2..777286e24b7b 100644
--- a/editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -1255,7 +1255,9 @@
+ if (! pThis) dummy_can_throw_anything("xxx"); // address something
+
+ volatile long edx = 0, eax = 0; // for register returns
++ void * stackptr;
+ asm volatile (
++ "mov %%esp, %6\n\t"
+ // copy values
+ "mov %0, %%eax\n\t"
+ "mov %%eax, %%edx\n\t"
@@ -1279,13 +1281,11 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
-+ "mov %0, %%eax\n\t"
-+ "shl $2, %%eax\n\t"
-+ "add %%eax, %%esp\n\t"
++ "mov %6, %%esp\n\t"
+ :
-+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
-+ : "eax", "edx" );
-+
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
++ "m"(eax), "m"(edx), "m"(stackptr)
++ : "eax", "edx" );
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 20b13ea25cb2..777286e24b7b 100644
--- a/editors/openoffice/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -1255,7 +1255,9 @@
+ if (! pThis) dummy_can_throw_anything("xxx"); // address something
+
+ volatile long edx = 0, eax = 0; // for register returns
++ void * stackptr;
+ asm volatile (
++ "mov %%esp, %6\n\t"
+ // copy values
+ "mov %0, %%eax\n\t"
+ "mov %%eax, %%edx\n\t"
@@ -1279,13 +1281,11 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
-+ "mov %0, %%eax\n\t"
-+ "shl $2, %%eax\n\t"
-+ "add %%eax, %%esp\n\t"
++ "mov %6, %%esp\n\t"
+ :
-+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
-+ : "eax", "edx" );
-+
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
++ "m"(eax), "m"(edx), "m"(stackptr)
++ : "eax", "edx" );
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER: