summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-08-21 16:33:47 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-08-21 16:34:39 +0100
commitd8fcd8ca9af087e98a2f6d9cbcf6eb42cddd0c74 (patch)
tree3b8231a5c3d109cebde2957932e6b76f3fb2f561 /bridges
parent495fe3bc22cfd09b79db1d822ef25ad5145a281d (diff)
Related: rhbz#1125588 get to the end of cpp_mediate on ppc64le
Change-Id: Id3928ef5ac68ea13a7aa8723bc8b068ecf8075a0
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
index 479444aee9a7..c0ca97f400f7 100644
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
@@ -326,7 +326,11 @@ static typelib_TypeClass cpp2uno_call(
}
}
-
+#if _CALL_ELF == 2
+# define PARAMSAVE 32
+#else
+# define PARAMSAVE 48
+#endif
static typelib_TypeClass cpp_mediate(
sal_uInt64 nOffsetAndIndex,
@@ -339,7 +343,7 @@ static typelib_TypeClass cpp_mediate(
sal_Int32 nFunctionIndex = (nOffsetAndIndex & 0xFFFFFFFF);
long sf = *(long*)sp;
- void ** ovrflw = (void**)(sf + 112);
+ void ** ovrflw = (void**)(sf + PARAMSAVE + 64);
// gpreg: [ret *], this, [other gpr params]
// fpreg: [fpr params]