aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2012-05-19 16:00:15 +0800
committermaho <maho@FreeBSD.org>2012-05-19 16:00:15 +0800
commit0d8576fa31ccca557fa139f7b8b18d01f218e049 (patch)
tree0b3ebe7fb7db8b46acd068b62e4782540c885ce2 /editors
parent5077acdb9e0676bd2407ec6eded80c1606548911 (diff)
downloadfreebsd-ports-gnome-0d8576fa31ccca557fa139f7b8b18d01f218e049.tar.gz
freebsd-ports-gnome-0d8576fa31ccca557fa139f7b8b18d01f218e049.tar.zst
freebsd-ports-gnome-0d8576fa31ccca557fa139f7b8b18d01f218e049.zip
Build fix for i386.
Submitted by: pfg@
Diffstat (limited to 'editors')
-rw-r--r--editors/openoffice-3/files/patch-doublemmap65
1 files changed, 65 insertions, 0 deletions
diff --git a/editors/openoffice-3/files/patch-doublemmap b/editors/openoffice-3/files/patch-doublemmap
new file mode 100644
index 000000000000..35397bd2b33f
--- /dev/null
+++ b/editors/openoffice-3/files/patch-doublemmap
@@ -0,0 +1,65 @@
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx (revision 1337224)
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx (working copy)
+@@ -355,7 +355,7 @@
+ int const codeSnippetSize = 16;
+
+ unsigned char * codeSnippet(
+- unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ unsigned char * code, sal_PtrDiff writetoexecdiff, sal_Int32 functionIndex, sal_Int32 vtableOffset,
+ typelib_TypeClass returnTypeClass)
+ {
+ if (!bridges::cpp_uno::shared::isSimpleType(returnTypeClass)) {
+@@ -401,7 +401,7 @@
+ // jmp privateSnippetExecutor:
+ *p++ = 0xE9;
+ *reinterpret_cast< sal_Int32 * >(p)
+- = ((unsigned char *) exec) - p - sizeof (sal_Int32);
++ = ((unsigned char *) exec) - p - sizeof (sal_Int32) - writetoexecdiff;
+ p += sizeof (sal_Int32);
+ OSL_ASSERT(p - code <= codeSnippetSize);
+ return code + codeSnippetSize;
+@@ -434,7 +434,7 @@
+ }
+
+ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
+- Slot ** slots, unsigned char * code,
++ Slot ** slots, unsigned char * code, sal_PtrDiff writetoexecdiff,
+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
+ sal_Int32 functionCount, sal_Int32 vtableOffset)
+ {
+@@ -447,9 +447,9 @@
+ switch (member->eTypeClass) {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ // Getter:
+- (s++)->fn = code;
++ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(
+- code, functionOffset++, vtableOffset,
++ code, writetoexecdiff, functionOffset++, vtableOffset,
+ reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >(
+ member)->pAttributeTypeRef->eTypeClass);
+ // Setter:
+@@ -457,17 +457,17 @@
+ typelib_InterfaceAttributeTypeDescription * >(
+ member)->bReadOnly)
+ {
+- (s++)->fn = code;
++ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(
+- code, functionOffset++, vtableOffset,
++ code, writetoexecdiff, functionOffset++, vtableOffset,
+ typelib_TypeClass_VOID);
+ }
+ break;
+
+ case typelib_TypeClass_INTERFACE_METHOD:
+- (s++)->fn = code;
++ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(
+- code, functionOffset++, vtableOffset,
++ code, writetoexecdiff, functionOffset++, vtableOffset,
+ reinterpret_cast< typelib_InterfaceMethodTypeDescription * >(
+ member)->pReturnTypeRef->eTypeClass);
+ break;