iOS, solved call stack problem.

Stack was not corrupted, but the call stack was not intact when
passing the assembler code.

Change-Id: If07909dce2b4a73634a130e5f50e84312115b845
diff --git a/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
index 748d276..9ad3954 100644
--- a/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx
@@ -418,8 +418,8 @@ namespace
 * (called by asm snippets)
 */

extern "C" sal_Int64 cpp_vtable_call( sal_Int32 func, sal_Int32 offset,
                                      void **pCallStack )
extern "C" void cpp_vtable_call( sal_Int32 func, sal_Int32 offset,
                                 void **pCallStack )
{
    sal_Int64 nRegReturn;
    typelib_TypeClass aType = cpp_mediate( func, offset, pCallStack, &nRegReturn );
@@ -444,8 +444,6 @@ extern "C" sal_Int64 cpp_vtable_call( sal_Int32 func, sal_Int32 offset,
        default:
            break;
    }

    return nRegReturn;
}

namespace
diff --git a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
index 67620c3..4c09f2b 100644
--- a/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
+++ b/bridges/source/cpp_uno/gcc3_ios/ios64_helper.s
@@ -199,6 +199,8 @@ _privateSnippetExecutor:
    .cfi_offset w29, -16

    // _privateSnippetExecutor is jumped to from codeSnippet_*
    stp    x29, x30, [sp, #-0x10]!
    mov    x29, sp

    // push all GP, FP/SIMD registers to the stack
    stp     x6, x7, [sp, #-16]!
@@ -220,9 +222,12 @@ _privateSnippetExecutor:
    mov     x2, sp

    bl      _cpp_vtable_call
    ldp     x8, lr, [sp, #0]
//    ldp     x8, lr, [sp, #0]
//    add     sp, sp, #144
//    ret     lr
    add     sp, sp, #144
    ret     lr
    ldp    x29, x30, [sp], #0x10
    ret
    .cfi_endproc

// vim:set shiftwidth=4 softtabstop=4 expandtab: