diff options
author | Martin Blapp <mbr@FreeBSD.org> | 2003-03-27 23:13:08 +0000 |
---|---|---|
committer | Martin Blapp <mbr@FreeBSD.org> | 2003-03-27 23:13:08 +0000 |
commit | 6e2b9e5b70d5df7ca29ab305687c8aec9dc3d728 (patch) | |
tree | 6d647607077e02d28d1fec9629d3e87ea1c0a4ff /editors/openoffice.org-1.0 | |
parent | 71330591d0d993afc7a6b671a013d06b8247d886 (diff) | |
download | ports-6e2b9e5b70d5df7ca29ab305687c8aec9dc3d728.tar.gz ports-6e2b9e5b70d5df7ca29ab305687c8aec9dc3d728.zip |
Notes
Diffstat (limited to 'editors/openoffice.org-1.0')
-rw-r--r-- | editors/openoffice.org-1.0/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel | 12 |
1 files changed, 6 insertions, 6 deletions
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: |