File fix.patch of Package wine-mono
Index: wine-mono-4.5.4/build-winemono.sh
===================================================================
--- wine-mono-4.5.4.orig/build-winemono.sh
+++ wine-mono-4.5.4/build-winemono.sh
@@ -78,8 +78,8 @@ cross_build_mono ()
cp "$CURDIR/build-cross-$ARCH-install/bin/libmono-2.0.dll" "$CURDIR/image/bin/libmono-2.0-$ARCH.dll"
elif test -f "$CURDIR/build-cross-$ARCH-install/bin/libmonosgen-2.0.dll"; then
cp "$CURDIR/build-cross-$ARCH-install/bin/libmonosgen-2.0.dll" "$CURDIR/image/bin/libmono-2.0-$ARCH.dll"
- elif test -f "$CURDIR/build-cross-$ARCH-install/bin/libmonoboehm-2.0.dll"; then
- cp "$CURDIR/build-cross-$ARCH-install/bin/libmonoboehm-2.0.dll" "$CURDIR/image/bin/libmono-2.0-$ARCH.dll"
+ elif test -f "$CURDIR/build-cross-$ARCH-install/lib/libmonoboehm-2.0.dll"; then
+ cp "$CURDIR/build-cross-$ARCH-install/lib/libmonoboehm-2.0.dll" "$CURDIR/image/bin/libmono-2.0-$ARCH.dll"
else
echo cannot find libmono dll
exit 1
Index: wine-mono-4.5.4/mono/mono/metadata/gc.c
===================================================================
--- wine-mono-4.5.4.orig/mono/mono/metadata/gc.c
+++ wine-mono-4.5.4/mono/mono/metadata/gc.c
@@ -1224,7 +1224,7 @@ mono_gc_cleanup (void)
ret = WaitForSingleObjectEx (gc_thread->handle, INFINITE, TRUE);
g_assert (ret == WAIT_OBJECT_0);
- mono_thread_join (MONO_UINT_TO_NATIVE_THREAD_ID (gc_thread->tid));
+ mono_thread_join ((gpointer)MONO_UINT_TO_NATIVE_THREAD_ID (gc_thread->tid));
}
}
gc_thread = NULL;
Index: wine-mono-4.5.4/mono/libgc/win32_threads.c
===================================================================
--- wine-mono-4.5.4.orig/mono/libgc/win32_threads.c
+++ wine-mono-4.5.4/mono/libgc/win32_threads.c
@@ -333,6 +333,7 @@ ptr_t GC_current_stackbottom()
if (thread_table[i].stack_base && thread_table[i].id == thread_id)
return thread_table[i].stack_base;
ABORT("no thread table entry for current thread");
+ return NULL;
}
# ifdef _MSC_VER
# pragma warning(default:4715)
Index: wine-mono-4.5.4/mono/mono/metadata/sgen-os-win32.c
===================================================================
--- wine-mono-4.5.4.orig/mono/mono/metadata/sgen-os-win32.c
+++ wine-mono-4.5.4/mono/mono/metadata/sgen-os-win32.c
@@ -77,7 +77,7 @@ sgen_suspend_thread (SgenThreadInfo *inf
info->ctx.r13 = context.R13;
info->ctx.r14 = context.R14;
info->ctx.r15 = context.R15;
- info->stopped_ip = info->ctx.rip;
+ info->stopped_ip = (char*)info->ctx.rip;
info->stack_start = (char*)info->ctx.rsp - REDZONE_SIZE;
#else
info->ctx.edi = context.Edi;
Index: wine-mono-4.5.4/mono/mono/mini/exceptions-amd64.c
===================================================================
--- wine-mono-4.5.4.orig/mono/mono/mini/exceptions-amd64.c
+++ wine-mono-4.5.4/mono/mono/mini/exceptions-amd64.c
@@ -799,7 +799,7 @@ mono_arch_ip_from_context (void *sigctx)
return (gpointer)UCONTEXT_REG_RIP (ctx);
#elif defined(HOST_WIN32)
- return ((CONTEXT*)sigctx)->Rip;
+ return (gpointer*)(((CONTEXT*)sigctx)->Rip);
#else
MonoContext *ctx = sigctx;
return (gpointer)ctx->rip;
Index: wine-mono-4.5.4/mono/mono/mini/exceptions-x86.c
===================================================================
--- wine-mono-4.5.4.orig/mono/mono/mini/exceptions-x86.c
+++ wine-mono-4.5.4/mono/mono/mini/exceptions-x86.c
@@ -906,7 +906,7 @@ mono_arch_ip_from_context (void *sigctx)
ucontext_t *ctx = (ucontext_t*)sigctx;
return (gpointer)UCONTEXT_REG_EIP (ctx);
#elif defined(HOST_WIN32)
- return ((CONTEXT*)sigctx)->Eip;
+ return (gpointer)((CONTEXT*)sigctx)->Eip;
#else
struct sigcontext *ctx = sigctx;
return (gpointer)ctx->SC_EIP;