From 6f819b49c1a8b2280940171f610a75a21b863463 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 31 May 2018 17:13:49 -0500 Subject: [PATCH] msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy(). Signed-off-by: Zebediah Figura Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- dlls/msvcrt/cpp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/msvcrt/cpp.c b/dlls/msvcrt/cpp.c index 07cde75c982..3402d13e1d1 100644 --- a/dlls/msvcrt/cpp.c +++ b/dlls/msvcrt/cpp.c @@ -1718,10 +1718,12 @@ void __cdecl __ExceptionPtrCreate(exception_ptr *ep) } #ifdef __i386__ -static inline void call_dtor(const cxx_exception_type *type, void *func, void *object) -{ - __asm__ __volatile__("call *%0" : : "m" (func), "c" (object) : "eax", "edx", "memory"); -} +extern void call_dtor(const cxx_exception_type *type, void *func, void *object); + +__ASM_GLOBAL_FUNC( call_dtor, + "movl 12(%esp),%ecx\n\t" + "call *8(%esp)\n\t" + "ret" ); #elif __x86_64__ static inline void call_dtor(const cxx_exception_type *type, unsigned int dtor, void *object) {