Module: wine Branch: master Commit: 47aebf67a5149ab9953944fa5e6729b9b71a5c31 URL: https://gitlab.winehq.org/wine/wine/-/commit/47aebf67a5149ab9953944fa5e6729b...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Jan 22 11:28:41 2024 +0100
ntdll: Export KiUserCallbackDispatcherReturn.
---
dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/ntdll_misc.h | 1 + dlls/ntdll/signal_arm.c | 2 ++ dlls/ntdll/signal_arm64.c | 2 ++ dlls/ntdll/signal_arm64ec.c | 2 ++ 5 files changed, 8 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 90b64627ce5..18dddf928cf 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -70,6 +70,7 @@ @ stdcall -norelay KiRaiseUserExceptionDispatcher() @ stdcall -norelay KiUserApcDispatcher(ptr long long long ptr) @ stdcall -norelay KiUserCallbackDispatcher(long ptr long) +@ stdcall -norelay -arch=arm,arm64,arm64ec KiUserCallbackDispatcherReturn() @ stdcall -norelay KiUserExceptionDispatcher(ptr ptr) # @ stub LdrAccessOutOfProcessResource @ stdcall LdrAccessResource(long ptr ptr ptr) diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h index 11cf2b39e1a..1512bc17132 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h @@ -57,6 +57,7 @@ extern void WINAPI LdrInitializeThunk(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR); extern NTSTATUS WINAPI KiUserExceptionDispatcher(EXCEPTION_RECORD*,CONTEXT*); extern void WINAPI KiUserApcDispatcher(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR,PNTAPCFUNC); extern void WINAPI KiUserCallbackDispatcher(ULONG,void*,ULONG); +extern void WINAPI KiUserCallbackDispatcherReturn(void); extern void (WINAPI *pWow64PrepareForException)( EXCEPTION_RECORD *rec, CONTEXT *context );
#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index 0b711481e98..ccb3f10b9f5 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -589,6 +589,8 @@ __ASM_GLOBAL_FUNC( KiUserCallbackDispatcher, "ldr r1, [sp, #0x04]\n\t" /* len */ "ldr r2, [sp, #0x08]\n\t" /* id */ "bl " __ASM_NAME("dispatch_user_callback") "\n\t" + ".globl " __ASM_NAME("KiUserCallbackDispatcherReturn") "\n" + __ASM_NAME("KiUserCallbackDispatcherReturn") ":\n\t" "mov r2, r0\n\t" /* status */ "mov r1, #0\n\t" /* ret_len */ "mov r0, r1\n\t" /* ret_ptr */ diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index a731dc77795..8a59f9050b1 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -615,6 +615,8 @@ __ASM_GLOBAL_FUNC( KiUserCallbackDispatcher, "ldr x0, [sp]\n\t" /* args */ "ldp w1, w2, [sp, #0x08]\n\t" /* len, id */ "bl " __ASM_NAME("dispatch_user_callback") "\n\t" + ".globl " __ASM_NAME("KiUserCallbackDispatcherReturn") "\n" + __ASM_NAME("KiUserCallbackDispatcherReturn") ":\n\t" "mov x2, x0\n\t" /* status */ "mov x1, #0\n\t" /* ret_len */ "mov x0, x1\n\t" /* ret_ptr */ diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index 1974ed63dd9..fb6654f4340 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -1726,6 +1726,8 @@ __ASM_GLOBAL_FUNC( "#KiUserCallbackDispatcher", "ldr x0, [sp]\n\t" /* args */ "ldp w1, w2, [sp, #0x08]\n\t" /* len, id */ "bl " __ASM_NAME("dispatch_user_callback") "\n\t" + ".globl "#KiUserCallbackDispatcherReturn"\n" + ""#KiUserCallbackDispatcherReturn":\n\t" "mov x2, x0\n\t" /* status */ "mov x1, #0\n\t" /* ret_len */ "mov x0, x1\n\t" /* ret_ptr */