Zebediah Figura : msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy().
Alexandre Julliard
julliard at winehq.org
Fri Jun 1 18:19:54 CDT 2018
Module: wine
Branch: master
Commit: 6f819b49c1a8b2280940171f610a75a21b863463
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6f819b49c1a8b2280940171f610a75a21b863463
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Thu May 31 17:13:49 2018 -0500
msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy().
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 07cde75..3402d13 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)
{
More information about the wine-cvs
mailing list