184 lines
6.0 KiB
Diff
184 lines
6.0 KiB
Diff
Jumbo patch containing all patches from pkgsrc, thanks!
|
|
|
|
$NetBSD: patch-af,v 1.10 2008/04/19 18:42:10 kefren Exp $
|
|
--- mono/metadata/Makefile.in.orig 2008-03-11 01:37:56.000000000 +0200
|
|
+++ mono/metadata/Makefile.in 2008-03-18 15:35:22.000000000 +0200
|
|
@@ -65,7 +65,7 @@
|
|
libmonoruntime_static_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
|
$(libmonoruntime_static_la_LDFLAGS) $(LDFLAGS) -o $@
|
|
-libmonoruntime_la_LIBADD =
|
|
+libmonoruntime_la_LIBADD = $(ICU_LIBS)
|
|
am_libmonoruntime_la_OBJECTS = reflection.lo object.lo icall.lo \
|
|
decimal.lo boehm-gc.lo null-gc.lo sgen-gc.lo gc.lo \
|
|
method-builder.lo marshal.lo mono-mlist.lo monitor.lo \
|
|
$NetBSD: patch-cf,v 1.3 2008/10/10 22:02:43 kefren Exp $
|
|
--- mono/metadata/class.c.orig 2008-10-10 23:57:39.000000000 +0300
|
|
+++ mono/metadata/class.c 2008-10-10 23:58:35.000000000 +0300
|
|
@@ -7445,7 +7445,10 @@
|
|
gboolean
|
|
mono_class_generic_sharing_enabled (MonoClass *class)
|
|
{
|
|
-#if defined(__i386__) || defined(__x86_64__)
|
|
+#if defined(__NetBSD__) && defined(__x86_64__)
|
|
+/* https://bugzilla.novell.com/show_bug.cgi?id=434457 */
|
|
+ static gboolean supported = FALSE;
|
|
+#elif defined(__i386__) || defined(__x86_64__)
|
|
static gboolean supported = TRUE;
|
|
#else
|
|
/* Not supported by the JIT backends */
|
|
$NetBSD: patch-cd,v 1.1 2008/02/13 14:16:43 kefren Exp $
|
|
--- mono/mini/exceptions-amd64.c.orig 2008-02-05 23:56:30.000000000 +0200
|
|
+++ mono/mini/exceptions-amd64.c 2008-02-05 23:53:28.000000000 +0200
|
|
@@ -682,7 +682,7 @@ mono_arch_handle_exception (void *sigctx
|
|
static inline guint64*
|
|
gregs_from_ucontext (ucontext_t *ctx)
|
|
{
|
|
-#ifdef __FreeBSD__
|
|
+#if defined (__FreeBSD__) || defined (__NetBSD__)
|
|
guint64 *gregs = (guint64 *) &ctx->uc_mcontext;
|
|
#else
|
|
guint64 *gregs = (guint64 *) &ctx->uc_mcontext.gregs;
|
|
$NetBSD: patch-cc,v 1.1 2008/02/13 14:16:43 kefren Exp $
|
|
--- mono/mini/mini-amd64.h.orig 2008-02-05 23:55:50.000000000 +0200
|
|
+++ mono/mini/mini-amd64.h 2008-02-05 23:51:38.000000000 +0200
|
|
@@ -220,7 +220,7 @@ typedef struct {
|
|
|
|
#endif /* PLATFORM_WIN32 */
|
|
|
|
-#ifdef __FreeBSD__
|
|
+#if defined (__FreeBSD__) || defined (__NetBSD__)
|
|
|
|
#define REG_RAX 7
|
|
#define REG_RCX 4
|
|
$NetBSD: patch-ak,v 1.8 2008/02/13 14:16:43 kefren Exp $
|
|
--- libgc/pthread_support.c.orig 2007-11-09 00:07:02.000000000 +0200
|
|
+++ libgc/pthread_support.c 2008-02-05 14:01:40.000000000 +0200
|
|
@@ -1160,6 +1160,22 @@ void GC_end_blocking(void) {
|
|
#define __d10_sleep sleep
|
|
#endif /* GC_DGUX386_THREADS */
|
|
|
|
+#undef nanosleep
|
|
+#undef usleep
|
|
+#undef sleep
|
|
+
|
|
+/* A wrapper for the standard C nanosleep function */
|
|
+int WRAP_FUNC(nanosleep) (const struct timespec *rqtp, struct timespec *rmtp)
|
|
+{
|
|
+ int result;
|
|
+
|
|
+ GC_start_blocking();
|
|
+ result = REAL_FUNC(nanosleep)(rqtp, rmtp);
|
|
+ GC_end_blocking();
|
|
+
|
|
+ return result;
|
|
+}
|
|
+
|
|
/* A wrapper for the standard C sleep function */
|
|
int WRAP_FUNC(sleep) (unsigned int seconds)
|
|
{
|
|
$NetBSD: patch-be,v 1.1 2007/08/03 07:46:54 taca Exp $
|
|
|
|
--- mono-1.1.13.8.1/support/sys-mman.corig 2006-04-11 07:21:37.000000000 +0900
|
|
+++ support/sys-mman.c 2007-08-03 22:04:18.000000000 +0900
|
|
@@ -96,8 +96,13 @@
|
|
if (Mono_Posix_FromMremapFlags (flags, &_flags) == -1)
|
|
return MAP_FAILED;
|
|
|
|
+#if defined(__NetBSD__)
|
|
+ return mremap (old_address, (size_t) old_size, old_address, (size_t) new_size,
|
|
+ (unsigned long) _flags);
|
|
+#else
|
|
return mremap (old_address, (size_t) old_size, (size_t) new_size,
|
|
(unsigned long) _flags);
|
|
+#endif
|
|
}
|
|
#endif /* def HAVE_MREMAP */
|
|
|
|
$NetBSD: patch-bf,v 1.2 2008/02/13 14:16:43 kefren Exp $
|
|
--- support/map.c.orig 2008-02-05 14:14:43.000000000 +0200
|
|
+++ support/map.c 2008-02-05 14:16:06.000000000 +0200
|
|
@@ -3011,13 +3011,21 @@ int Mono_Posix_ToMountFlags (guint64 x,
|
|
|
|
int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
|
|
{
|
|
+#ifdef __NetBSD__
|
|
+ *r = MAP_FIXED;
|
|
+#else
|
|
*r = 0;
|
|
+#endif
|
|
if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
|
|
+#ifdef __NetBSD__
|
|
+ *r &= ~MAP_FIXED;
|
|
+#else
|
|
#ifdef MREMAP_MAYMOVE
|
|
*r |= MREMAP_MAYMOVE;
|
|
#else /* def MREMAP_MAYMOVE */
|
|
{errno = EINVAL; return -1;}
|
|
#endif /* ndef MREMAP_MAYMOVE */
|
|
+#endif /* __NetBSD__ */
|
|
if (x == 0)
|
|
return 0;
|
|
return 0;
|
|
$NetBSD: patch-bg,v 1.1 2008/02/13 14:16:43 kefren Exp $
|
|
--- mono/metadata/socket-io.c.orig 2008-02-07 08:37:02.000000000 +0200
|
|
+++ mono/metadata/socket-io.c 2008-02-07 08:37:17.000000000 +0200
|
|
@@ -2751,7 +2751,7 @@
|
|
struct sockaddr_in6 saddr6;
|
|
struct addrinfo *info = NULL, hints;
|
|
gint32 family;
|
|
- char hostname[1024] = {0};
|
|
+ char hostname[NI_MAXHOST] = {0};
|
|
int flags = 0;
|
|
#else
|
|
struct in_addr inaddr;
|
|
$NetBSD: patch-bh,v 1.1 2008/02/13 14:16:43 kefren Exp $
|
|
--- mcs/class/Managed.Windows.Forms/build-csproj.orig 2008-02-07 08:44:48.000000000 +0200
|
|
+++ mcs/class/Managed.Windows.Forms/build-csproj 2008-02-07 08:44:59.000000000 +0200
|
|
@@ -177,7 +177,7 @@
|
|
{
|
|
cat $Resource | while read SRC; do
|
|
SRC=`echo $SRC | $tr '/' '\\\\'`
|
|
-SRC=`echo $SRC | sed 's/-resource://' | gawk -F , '{print " RelPath = \"" $1 "\"\n CustomToolNameSpace = \"" $2 "\""}' | fgrep -v \"\"`
|
|
+SRC=`echo $SRC | sed 's/-resource://' | awk -F , '{print " RelPath = \"" $1 "\"\n CustomToolNameSpace = \"" $2 "\""}' | fgrep -v \"\"`
|
|
|
|
cat << EOT
|
|
<File
|
|
$NetBSD: patch-bi,v 1.1 2008/02/13 14:16:43 kefren Exp $
|
|
--- mono/metadata/filewatcher.c.orig 2008-02-07 08:47:39.000000000 +0200
|
|
+++ mono/metadata/filewatcher.c 2008-02-07 08:52:21.000000000 +0200
|
|
@@ -44,9 +44,6 @@
|
|
gint
|
|
ves_icall_System_IO_FSW_SupportsFSW (void)
|
|
{
|
|
-#if HAVE_KQUEUE
|
|
- return 3;
|
|
-#else
|
|
MonoDl *fam_module;
|
|
int lib_used = 4; /* gamin */
|
|
int inotify_instance;
|
|
@@ -70,15 +67,22 @@
|
|
}
|
|
|
|
if (fam_module == NULL)
|
|
+#if HAVE_KQUEUE
|
|
+ return 3;
|
|
+#else
|
|
return 0;
|
|
+#endif
|
|
|
|
err = mono_dl_symbol (fam_module, "FAMNextEvent", (gpointer *) &FAMNextEvent);
|
|
g_free (err);
|
|
if (FAMNextEvent == NULL)
|
|
+#if HAVE_KQUEUE
|
|
+ return 3;
|
|
+#else
|
|
return 0;
|
|
+#endif
|
|
|
|
return lib_used;
|
|
-#endif
|
|
}
|
|
|
|
/* Almost copied from fam.h. Weird, I know */
|