diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-08-21 16:33:47 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-08-21 16:34:39 +0100 |
commit | d8fcd8ca9af087e98a2f6d9cbcf6eb42cddd0c74 (patch) | |
tree | 3b8231a5c3d109cebde2957932e6b76f3fb2f561 /bridges | |
parent | 495fe3bc22cfd09b79db1d822ef25ad5145a281d (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.cxx | 8 |
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] |