From d8fcd8ca9af087e98a2f6d9cbcf6eb42cddd0c74 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 21 Aug 2014 16:33:47 +0100 Subject: Related: rhbz#1125588 get to the end of cpp_mediate on ppc64le Change-Id: Id3928ef5ac68ea13a7aa8723bc8b068ecf8075a0 --- bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bridges/source') 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] -- cgit