From 3acb058a558ee687ca9c67175bf1490bddf34016 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 20 Sep 2023 11:18:10 +0200 Subject: [PATCH] rpcrt4: Add SEH annotations to ARM64 assembly code. --- dlls/rpcrt4/cproxy.c | 3 +++ dlls/rpcrt4/ndr_stubless.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/dlls/rpcrt4/cproxy.c b/dlls/rpcrt4/cproxy.c index 80400422e41..ea0d65db259 100644 --- a/dlls/rpcrt4/cproxy.c +++ b/dlls/rpcrt4/cproxy.c @@ -201,7 +201,10 @@ static inline void init_thunk( struct thunk *thunk, unsigned int index ) extern void call_stubless_func(void); __ASM_GLOBAL_FUNC( call_stubless_func, "stp x29, x30, [sp, #-0x90]!\n\t" + __ASM_SEH(".seh_save_fplr_x 0x90\n\t") "mov x29, sp\n\t" + __ASM_SEH(".seh_set_fp\n\t") + __ASM_SEH(".seh_endprologue\n\t") "stp d0, d1, [sp, #0x10]\n\t" "stp d2, d3, [sp, #0x20]\n\t" "stp d4, d5, [sp, #0x30]\n\t" diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c index 8fc5fd41ca6..2e84d64bba5 100644 --- a/dlls/rpcrt4/ndr_stubless.c +++ b/dlls/rpcrt4/ndr_stubless.c @@ -1181,7 +1181,10 @@ __ASM_GLOBAL_FUNC( call_server_func, LONG_PTR __cdecl call_server_func(SERVER_ROUTINE func, unsigned char *args, unsigned int stack_size); __ASM_GLOBAL_FUNC( call_server_func, "stp x29, x30, [sp, #-16]!\n\t" + __ASM_SEH(".seh_save_fplr_x 16\n\t") "mov x29, sp\n\t" + __ASM_SEH(".seh_set_fp\n\t") + __ASM_SEH(".seh_endprologue\n\t") "add x9, x2, #15\n\t" "lsr x9, x9, #4\n\t" "sub sp, sp, x9, lsl #4\n\t"