[PATCH] mscoree: Fix calling convention for mono callback functions.

Paul Gofman gofmanp at gmail.com
Wed Jan 20 09:03:40 CST 2016


ms_abi calling convention is required for x86_64 arch.

Signed-off-by: Paul Gofman <gofmanp at gmail.com>
---
 dlls/mscoree/metahost.c        | 12 ++++++------
 dlls/mscoree/mscoree_private.h |  6 +++---
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/mscoree/metahost.c b/dlls/mscoree/metahost.c
index b0237b3..3d663f1 100644
--- a/dlls/mscoree/metahost.c
+++ b/dlls/mscoree/metahost.c
@@ -110,11 +110,11 @@ static BOOL get_mono_path(LPWSTR path);
 
 static BOOL find_mono_dll(LPCWSTR path, LPWSTR dll_path);
 
-static MonoAssembly* mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
 
-static void mono_shutdown_callback_fn(MonoProfiler *prof);
+static void CDECL mono_shutdown_callback_fn(MonoProfiler *prof);
 
-static void mono_print_handler_fn(const char *string, INT is_stdout);
+static void CDECL mono_print_handler_fn(const char *string, INT is_stdout);
 
 static MonoImage* CDECL image_open_module_handle_dummy(HMODULE module_handle,
     char* fname, UINT has_entry_point, MonoImageOpenStatus* status)
@@ -249,12 +249,12 @@ fail:
     return E_FAIL;
 }
 
-static void mono_shutdown_callback_fn(MonoProfiler *prof)
+static void CDECL mono_shutdown_callback_fn(MonoProfiler *prof)
 {
     is_mono_shutdown = TRUE;
 }
 
-static void mono_print_handler_fn(const char *string, INT is_stdout)
+static void CDECL mono_print_handler_fn(const char *string, INT is_stdout)
 {
     wine_dbg_printf("%s", string);
 }
@@ -1144,7 +1144,7 @@ HRESULT get_file_from_strongname(WCHAR* stringnameW, WCHAR* assemblies_path, int
     return hr;
 }
 
-static MonoAssembly* mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data)
+static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data)
 {
     HRESULT hr;
     MonoAssembly *result=NULL;
diff --git a/dlls/mscoree/mscoree_private.h b/dlls/mscoree/mscoree_private.h
index 0c59c42..7843407 100644
--- a/dlls/mscoree/mscoree_private.h
+++ b/dlls/mscoree/mscoree_private.h
@@ -128,11 +128,11 @@ typedef enum {
 	MONO_IMAGE_IMAGE_INVALID
 } MonoImageOpenStatus;
 
-typedef MonoAssembly* (*MonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+typedef MonoAssembly* (CDECL *MonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
 
-typedef void (*MonoProfileFunc)(MonoProfiler *prof);
+typedef void (CDECL *MonoProfileFunc)(MonoProfiler *prof);
 
-typedef void (*MonoPrintCallback) (const char *string, INT is_stdout);
+typedef void (CDECL *MonoPrintCallback) (const char *string, INT is_stdout);
 
 extern BOOL is_mono_started DECLSPEC_HIDDEN;
 
-- 
2.5.0




More information about the wine-patches mailing list