From 6fd06e0215602c61ce6cefb07a3d401fc85d30c2 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Thu, 25 Apr 2024 09:48:40 +0200 Subject: Add back the callVirtualFunction_fake boilerplate ...that ae6ee262d7649222a137f8722886a10db274ddf5 "Some fixing of msvc_win32_arm64 UNO bridge" had removed, assuming it wasn't actually necessary. But looks like Windows exception handling stack unwinding somehow needs it after all. Getting past the CustomTarget_testtools/uno_test getRaiseAttr1() call now (but still failing at some later place). Change-Id: I1e84345f2f355ab1e480c779da6b221b744132b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166616 Reviewed-by: Stephan Bergmann Tested-by: Jenkins --- bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'bridges') diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S index 546c02cf5040..55fd3f95ff85 100644 --- a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S +++ b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S @@ -25,7 +25,12 @@ x3 function */ - NESTED_ENTRY callVirtualFunction + NESTED_ENTRY callVirtualFunction_fake + + // for unwind information, Windows has to store fp and lr + PROLOG_SAVE_REG_PAIR x29, x30, #-32! + + ALTERNATE_ENTRY callVirtualFunction sub sp, sp, #32 stp fp, lr, [sp] @@ -75,7 +80,7 @@ done ldp fp, lr, [sp, #-32] ret - NESTED_END callVirtualFunction + NESTED_END callVirtualFunction_fake END -- cgit