From: Zebediah Figura zfigura@codeweavers.com
This allows unwinding from a crash inside the function. --- dlls/msvcrt/string.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c index dd392abd203..c598a6fa76f 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -2817,8 +2817,11 @@ int __cdecl memcmp(const void *ptr1, const void *ptr2, size_t n)
#define MEMMOVE_INIT \ "pushq " SRC_REG "\n\t" \ + __ASM_SEH(".seh_pushreg " SRC_REG "\n\t") \ __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \ "pushq " DEST_REG "\n\t" \ + __ASM_SEH(".seh_pushreg " DEST_REG "\n\t") \ + __ASM_SEH(".seh_endprologue\n\t") \ __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \ "movq %rcx, " DEST_REG "\n\t" \ "movq %rdx, " SRC_REG "\n\t"