Use the upstream diff that was commited today their repository, because

this is how it's done correctly.
This commit is contained in:
robert 2010-03-21 17:35:05 +00:00
parent a07ce53b70
commit a8360f7714
2 changed files with 42 additions and 7 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.18 2010/03/21 13:43:10 robert Exp $
# $OpenBSD: Makefile,v 1.19 2010/03/21 17:35:05 robert Exp $
# sync with net/avahi,-mono
ONLY_FOR_ARCHS= amd64 i386 powerpc # arm
@ -6,7 +6,7 @@ ONLY_FOR_ARCHS= amd64 i386 powerpc # arm
COMMENT= cross platform, open source .NET developement framework
DISTNAME= mono-2.6.3
PKGNAME= ${DISTNAME}p0
PKGNAME= ${DISTNAME}p1
CATEGORIES= lang devel

View File

@ -1,8 +1,20 @@
$OpenBSD: patch-mono_mini_mini_c,v 1.1 2010/03/20 17:16:44 robert Exp $
--- mono/mini/mini.c.orig Sat Mar 20 18:05:26 2010
+++ mono/mini/mini.c Sat Mar 20 14:50:27 2010
@@ -4781,6 +4781,9 @@ SIG_HANDLER_SIGNATURE (mono_sigsegv_signal_handler)
#endif
$OpenBSD: patch-mono_mini_mini_c,v 1.2 2010/03/21 17:35:05 robert Exp $
--- mono/mini/mini.c.orig Thu Feb 25 16:20:57 2010
+++ mono/mini/mini.c Sun Mar 21 17:59:55 2010
@@ -4773,18 +4773,22 @@ SIG_HANDLER_SIGNATURE (mono_sigill_signal_handler)
mono_arch_handle_exception (ctx, exc, FALSE);
}
+#if defined(MONO_ARCH_USE_SIGACTION) || defined(HOST_WIN32)
+#define HAVE_SIG_INFO
+#endif
+
void
SIG_HANDLER_SIGNATURE (mono_sigsegv_signal_handler)
{
-#ifndef MONO_ARCH_SIGSEGV_ON_ALTSTACK
- MonoException *exc = NULL;
-#endif
MonoJitInfo *ji;
MonoJitTlsData *jit_tls = TlsGetValue (mono_jit_tls_id);
+#if !(defined(MONO_ARCH_USE_SIGACTION) || defined(PLATFORM_WIN32))
@ -11,3 +23,26 @@ $OpenBSD: patch-mono_mini_mini_c,v 1.1 2010/03/20 17:16:44 robert Exp $
GET_CONTEXT;
-#ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
+#if defined(MONO_ARCH_SOFT_DEBUG_SUPPORTED) && defined(HAVE_SIG_INFO)
if (mono_arch_is_single_step_event (info, ctx)) {
mono_debugger_agent_single_step_event (ctx);
return;
@@ -4794,7 +4798,7 @@ SIG_HANDLER_SIGNATURE (mono_sigsegv_signal_handler)
}
#endif
-#ifndef PLATFORM_WIN32
+#if !defined(HOST_WIN32) && defined(HAVE_SIG_INFO)
if (mono_aot_is_pagefault (info->si_addr)) {
mono_aot_handle_pagefault (info->si_addr);
return;
@@ -4844,7 +4848,7 @@ SIG_HANDLER_SIGNATURE (mono_sigsegv_signal_handler)
mono_handle_native_sigsegv (SIGSEGV, ctx);
}
- mono_arch_handle_exception (ctx, exc, FALSE);
+ mono_arch_handle_exception (ctx, NULL, FALSE);
#endif
}