summaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authormbr <mbr@FreeBSD.org>2003-03-27 22:13:25 +0000
committermbr <mbr@FreeBSD.org>2003-03-27 22:13:25 +0000
commitae12144b78cdb082a1c704f2fd791305161f2e94 (patch)
tree48c2b54af17b178d517c884d1f3874e8ef636fdc /editors
parent87c62ce5e8d101fc124da048eb2837fa50280d35 (diff)
downloadFreeBSD-ports-ae12144b78cdb082a1c704f2fd791305161f2e94.zip
FreeBSD-ports-ae12144b78cdb082a1c704f2fd791305161f2e94.tar.gz
Depending on how a compiler generates code (e.g., GCC 3.2.2 vs. GCC
3.0.1), a bug in the gcc3_linux_intel UNO bridge is revealed: If a C/C++ function returns a complex object (class, struct, union), the 386 ABI specifies that the caller pushes the address for that object on the stack, and the callee removes it from the stack. The code in the UNO bridge (callVirtualMethod in bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx) erroneously assumes that the callee does *not* remove the address from the stack, corrupting the stack. We use the same bridge code as linux does for gcc3.x. So this fix also works for us. Submitted by: Stephan Bergmann <stephan.bergmann@sun.com>
Diffstat (limited to 'editors')
-rw-r--r--editors/openoffice-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-2-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-2-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-2.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-2/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-3-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel41
17 files changed, 697 insertions, 0 deletions
diff --git a/editors/openoffice-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-1.1-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-1.1/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-2-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-2-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-2-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-2-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-2-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-2-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-2-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-2-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-2.0-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-2.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-2.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-2.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-2.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-2/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-2/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-2/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-2/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-3-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-3-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-3-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-3-RC/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-3-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-3/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
diff --git a/editors/openoffice.org-vcltesttool/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel b/editors/openoffice.org-vcltesttool/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
index 99b8c56..d723952 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
+++ b/editors/openoffice.org-vcltesttool/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
@@ -100,3 +100,44 @@
}
}
+--- ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx.orig Thu Mar 27 22:05:43 2003
++++ ../bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Thu Mar 27 22:08:18 2003
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.3.48.1 $
++ * $Revision: 1.1.4.1 $
+ *
+- * last change: $Author: sb $ $Date: 2003/03/27 14:40:32 $
++ * last change: $Author: rt $ $Date: 2003/02/20 16:02:18 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -97,9 +97,7 @@
+ 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"
+@@ -123,11 +121,13 @@
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+- "mov %6, %%esp\n\t"
++ "mov %0, %%eax\n\t"
++ "shl $2, %%eax\n\t"
++ "add %%eax, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx)
+ : "eax", "edx" );
++
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
OpenPOWER on IntegriCloud