update to mono-3.4.0

This commit is contained in:
robert 2014-07-09 11:39:16 +00:00
parent 18301898d3
commit 82213749fe
28 changed files with 1009 additions and 522 deletions

View File

@ -1,15 +1,14 @@
# $OpenBSD: Makefile,v 1.80 2013/12/04 21:31:12 naddy Exp $
# $OpenBSD: Makefile,v 1.81 2014/07/09 11:39:16 robert Exp $
COMMENT= cross platform, open source .NET developement framework
DISTNAME= mono-2.10.9
REVISION= 3
DISTNAME= mono-3.4.0
CATEGORIES= lang devel
SHARED_LIBS += mono-2.0 1.0 # .0.0
SHARED_LIBS += monoboehm-2.0 1.0 # .0.0
SHARED_LIBS += mono-profiler-iomap 0.0 # .0.0
SHARED_LIBS += monosgen-2.0 0.0 # .0.0
SHARED_LIBS += mono-profiler-aot 1.0 # .0.0
SHARED_LIBS += mono-profiler-log 0.0 # .0.0
SHARED_LIBS += mono-profiler-cov 1.0 # .0.0
@ -28,6 +27,7 @@ MASTER_SITES= http://download.mono-project.com/sources/mono/ \
EXTRACT_SUFX= .tar.bz2
MODULES= lang/mono \
lang/python \
converters/libiconv
MODMONO_DEPS= No
@ -38,18 +38,21 @@ USE_GROFF = Yes
SUBST_VARS= LIBTOOL
BUILD_DEPENDS= devel/bison \
lang/gawk \
shells/bash \
${RUN_DEPENDS}
RUN_DEPENDS= x11/libgdiplus
LIB_DEPENDS= devel/boehm-gc
WANTLIB += gc
AUTOCONF_VERSION=2.68
TEST_DEPENDS= lang/python/${MODPY_VERSION}
AUTOCONF_VERSION=2.69
CONFIGURE_STYLE=autoconf
CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" \
CPPFLAGS="-I${LOCALBASE}/include" \
ac_cv_header_execinfo_h=no
CONFIGURE_ARGS= ${CONFIGURE_SHARED} \
--with-gc=boehm \
--with-gc=included \
--with-sgen=no \
--enable-quiet-build=no \
--disable-shared-handles
@ -62,19 +65,6 @@ DLLMAP_FILES= mcs/class/Managed.Windows.Forms/System.Windows.Forms/MimeIcon.cs \
mcs/class/Mono.Cairo/Samples/gtk/OldAndBusted.cs \
data/config
BASH_SCRIPTS= mcs/class/Mono.WebBrowser/build-csproj2k5 \
mcs/class/Managed.Windows.Forms/build-csproj \
mcs/class/Managed.Windows.Forms/build-csproj2k5 \
mcs/class/Mono.Cairo/Samples/x11/compile.sh \
mcs/class/Mono.Cairo/Samples/gtk/compile.sh \
mcs/class/Mono.Cairo/Samples/win32/compile.sh \
mcs/class/Mono.Cairo/Samples/png/compile.sh \
mcs/tools/tinderbox/tinderbox.sh \
scripts/mono-find-requires.in \
scripts/mono-find-provides.in \
scripts/mono-test-install \
mono/arch/arm/dpiops.sh
FAKE_FLAGS= sysconfdir=${PREFIX}/share/examples
post-patch:
@ -85,12 +75,15 @@ post-patch:
pre-configure:
${SUBST_CMD} ${WRKSRC}/runtime/mono-wrapper.in \
${WRKSRC}/runtime/monodis-wrapper.in
for i in ${BASH_SCRIPTS}; do \
perl -pi -e 's,/bin/bash,/bin/sh,' ${WRKSRC}/$${i}; \
done
perl -pi -e 's,^prefix=.*,prefix=\@prefix\@,g;' \
-e 's,^exec_prefix=.*,exec_prefix=\@prefix\@,g' \
${WRKSRC}/data/*.pc.in
perl -pi -e 's,/usr/bin/env python,${MODPY_BIN},g' \
mono/tests/gc-descriptors/gen-descriptor-tests.py
@ln -fs /usr/local/bin/bash ${WRKDIR}/bin/bash
@ln -fs /usr/local/bin/gawk ${WRKDIR}/bin/gawk
# Force using the internal mcs compiler
pre-build:

View File

@ -1,5 +1,2 @@
MD5 (mono-2.10.9.tar.bz2) = u7/509DDa5BEN62jaifrng==
RMD160 (mono-2.10.9.tar.bz2) = rJeExBPrLNtJB1CoapbM5cEa1b0=
SHA1 (mono-2.10.9.tar.bz2) = Gm6MWgw9iNh5giWaoEQC4Ciig94=
SHA256 (mono-2.10.9.tar.bz2) = VBA4zU7dShxIVjjUlpfUUBXvdIO8shu2Fl5NfrdwyaU=
SIZE (mono-2.10.9.tar.bz2) = 34038017
SHA256 (mono-3.4.0.tar.bz2) = /UytxqhJiWxqQ4IyHwbOnyJDJq/9LIqqR7pyGMDZUdQ=
SIZE (mono-3.4.0.tar.bz2) = 77992708

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-configure_in,v 1.10 2014/07/09 11:39:17 robert Exp $
--- configure.in.orig Tue Jul 8 13:26:49 2014
+++ configure.in Tue Jul 8 13:27:19 2014
@@ -178,9 +178,7 @@ case "$host" in
need_link_unlink=yes
AC_DEFINE(PTHREAD_POINTER_ID)
libdl=
- gc_default=boehm
libgc_threads=pthreads
- with_sigaltstack=no
use_sigposix=yes
;;
*-*-linux-android*)

View File

@ -0,0 +1,56 @@
$OpenBSD: patch-libgc_Makefile_in,v 1.1 2014/07/09 11:39:17 robert Exp $
--- libgc/Makefile.in.orig Tue Jul 8 11:53:47 2014
+++ libgc/Makefile.in Tue Jul 8 11:54:08 2014
@@ -91,7 +91,7 @@ am__libmonogc_static_la_SOURCES_DIST = allchblk.c allo
ptr_chck.c real_malloc.c reclaim.c solaris_pthreads.c \
solaris_threads.c specific.c stubborn.c typd_mlc.c backgraph.c \
win32_threads.c pthread_support.c pthread_stop_world.c \
- darwin_stop_world.c openbsd_stop_world.c mach_dep.c \
+ darwin_stop_world.c mach_dep.c \
powerpc_darwin_mach_dep.s ia64_save_regs_in_stack.s
@POWERPC_DARWIN_FALSE@@TARGET_IA64_TRUE@am__objects_1 = ia64_save_regs_in_stack.lo
@POWERPC_DARWIN_TRUE@am__objects_1 = powerpc_darwin_mach_dep.lo
@@ -103,7 +103,7 @@ am__objects_2 = allchblk.lo alloc.lo blacklst.lo check
solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
backgraph.lo win32_threads.lo pthread_support.lo \
pthread_stop_world.lo darwin_stop_world.lo \
- openbsd_stop_world.lo mach_dep.lo $(am__objects_1)
+ mach_dep.lo $(am__objects_1)
am_libmonogc_static_la_OBJECTS = $(am__objects_2)
libmonogc_static_la_OBJECTS = $(am_libmonogc_static_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -120,7 +120,7 @@ am__libmonogc_la_SOURCES_DIST = allchblk.c alloc.c bla
ptr_chck.c real_malloc.c reclaim.c solaris_pthreads.c \
solaris_threads.c specific.c stubborn.c typd_mlc.c backgraph.c \
win32_threads.c pthread_support.c pthread_stop_world.c \
- darwin_stop_world.c openbsd_stop_world.c mach_dep.c \
+ darwin_stop_world.c mach_dep.c \
powerpc_darwin_mach_dep.s ia64_save_regs_in_stack.s
am_libmonogc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo \
checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo \
@@ -130,7 +130,7 @@ am_libmonogc_la_OBJECTS = allchblk.lo alloc.lo blackls
solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
backgraph.lo win32_threads.lo pthread_support.lo \
pthread_stop_world.lo darwin_stop_world.lo \
- openbsd_stop_world.lo mach_dep.lo $(am__objects_1)
+ mach_dep.lo $(am__objects_1)
libmonogc_la_OBJECTS = $(am_libmonogc_la_OBJECTS)
libmonogc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -410,7 +410,7 @@ obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_mal
solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
backgraph.c win32_threads.c \
pthread_support.c pthread_stop_world.c darwin_stop_world.c \
-openbsd_stop_world.c mach_dep.c $(asm_libgc_sources)
+mach_dep.c $(asm_libgc_sources)
# Include THREADDLLIBS here to ensure that the correct versions of
@@ -575,7 +575,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/new_hblk.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obj_map.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openbsd_stop_world.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os_dep.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcr_interface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_stop_world.Plo@am__quote@

View File

@ -0,0 +1,38 @@
$OpenBSD: patch-libgc_dyn_load_c,v 1.1 2014/07/09 11:39:17 robert Exp $
--- libgc/dyn_load.c.orig Tue Jul 8 11:42:14 2014
+++ libgc/dyn_load.c Tue Jul 8 12:52:49 2014
@@ -91,6 +91,13 @@
# define ELFSIZE ARCH_ELFSIZE
#endif
+#if defined(OPENBSD)
+# include <sys/param.h>
+# if OpenBSD >= 200519
+# define HAVE_DL_ITERATE_PHDR
+# endif
+#endif /* OPENBSD */
+
#if (defined(LINUX) || defined(NACL)) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
(defined(OPENBSD) && defined(__ELF__)) || \
@@ -394,9 +401,10 @@ GC_bool GC_register_main_static_data()
/* For glibc 2.2.4+. Unfortunately, it doesn't work for older */
/* versions. Thanks to Jakub Jelinek for most of the code. */
-# if (defined(LINUX) || defined(NACL)) /* Are others OK here, too? */ \
+# if ((defined(LINUX) || defined(NACL)) /* Are others OK here, too? */ \
&& (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))) \
+ || defined(OPENBSD)
/* We have the header files for a glibc that includes dl_iterate_phdr. */
/* It may still not be available in the library on the target system. */
@@ -439,7 +447,6 @@ static int GC_register_dynlib_callback(info, size, ptr
/* Return TRUE if we succeed, FALSE if dl_iterate_phdr wasn't there. */
#pragma weak dl_iterate_phdr
-
GC_bool GC_register_dynamic_libraries_dl_iterate_phdr()
{
if (dl_iterate_phdr) {

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-libgc_include_private_gc_priv_h,v 1.1 2014/07/09 11:39:17 robert Exp $
--- libgc/include/private/gc_priv.h.orig Tue Jul 8 11:44:07 2014
+++ libgc/include/private/gc_priv.h Tue Jul 8 12:48:45 2014
@@ -1973,6 +1973,10 @@ void GC_err_puts GC_PROTO((GC_CONST char *s));
/* Linuxthreads itself uses SIGUSR1 and SIGUSR2. */
# define SIG_SUSPEND SIGPWR
# endif
+# elif defined(GC_OPENBSD_THREADS)
+# ifndef GC_OPENBSD_UTHREADS
+# define SIG_SUSPEND SIGXFSZ
+# endif
# else /* !GC_LINUX_THREADS */
# if defined(_SIGRTMIN)
# define SIG_SUSPEND _SIGRTMIN + 6

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-libgc_include_private_pthread_support_h,v 1.1 2014/07/09 11:39:17 robert Exp $
--- libgc/include/private/pthread_support.h.orig Tue Jul 8 11:54:51 2014
+++ libgc/include/private/pthread_support.h Tue Jul 8 11:55:08 2014
@@ -8,8 +8,6 @@
#if defined(GC_DARWIN_THREADS)
# include "private/darwin_stop_world.h"
-#elif defined(GC_OPENBSD_THREADS)
-# include "private/openbsd_stop_world.h"
#else
# include "private/pthread_stop_world.h"
#endif

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-libgc_pthread_stop_world_c,v 1.1 2014/07/09 11:39:17 robert Exp $
--- libgc/pthread_stop_world.c.orig Tue Jul 8 12:28:52 2014
+++ libgc/pthread_stop_world.c Tue Jul 8 12:28:56 2014
@@ -2,8 +2,7 @@
#if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
&& !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS) \
- && !defined(GC_DARWIN_THREADS) && !defined(GC_AIX_THREADS) \
- && !defined(GC_OPENBSD_THREADS)
+ && !defined(GC_DARWIN_THREADS) && !defined(GC_AIX_THREADS)
#include <signal.h>
#include <semaphore.h>

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-mcs_class_Managed_Windows_Forms_build-csproj,v 1.3 2010/03/20 17:16:44 robert Exp $
--- mcs/class/Managed.Windows.Forms/build-csproj.orig Fri Sep 25 16:59:05 2009
+++ mcs/class/Managed.Windows.Forms/build-csproj Sat Mar 20 11:03:12 2010
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
# I got tired of editing the SWF.csproj
# This script will generate it from our System.Windows.Forms.dll.sources
@@ -177,7 +177,7 @@ SWFresourcelist()
{
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

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-mcs_class_System_Web_System_Web_HttpForbiddenHandler_cs,v 1.1 2012/07/13 16:59:15 jasper Exp $
Security fix for CVE-2012-3382, Mono "ProcessRequest()" Cross-Site Scripting Vulnerability
From upstream git: https://github.com/mono/mono/commit/d16d4623edb210635bec3ca3786481b82cde25a2
--- mcs/class/System.Web/System.Web/HttpForbiddenHandler.cs.orig Fri Jul 13 16:36:05 2012
+++ mcs/class/System.Web/System.Web/HttpForbiddenHandler.cs Fri Jul 13 16:37:03 2012
@@ -42,7 +42,7 @@ namespace System.Web
throw new HttpException (403,
"This type of page is not served.",
- req != null ? req.Path : null,
+ req != null ? HttpUtility.HtmlEncode (req.Path) : null,
description);
}

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-mono_io-layer_processes_c,v 1.4 2012/04/13 11:51:49 robert Exp $
--- mono/io-layer/processes.c.orig Mon Dec 19 22:10:24 2011
+++ mono/io-layer/processes.c Tue Mar 20 22:40:11 2012
@@ -1530,13 +1530,13 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
$OpenBSD: patch-mono_io-layer_processes_c,v 1.5 2014/07/09 11:39:17 robert Exp $
--- mono/io-layer/processes.c.orig Tue Jul 8 11:28:17 2014
+++ mono/io-layer/processes.c Tue Jul 8 11:28:22 2014
@@ -1350,13 +1350,13 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
gboolean done;
size_t proclength, size;
#if defined(__OpenBSD__)
@ -18,7 +18,7 @@ $OpenBSD: patch-mono_io-layer_processes_c,v 1.4 2012/04/13 11:51:49 robert Exp $
name[5] = 0;
#else
struct kinfo_proc *result;
@@ -1564,7 +1564,7 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
@@ -1384,7 +1384,7 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
return FALSE;
#if defined(__OpenBSD__)
@ -27,7 +27,7 @@ $OpenBSD: patch-mono_io-layer_processes_c,v 1.4 2012/04/13 11:51:49 robert Exp $
#endif
err = sysctl ((int *) name, size, result, &proclength, NULL, 0);
@@ -1585,7 +1585,7 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
@@ -1407,7 +1407,7 @@ gboolean EnumProcesses (guint32 *pids, guint32 len, gu
}
#if defined(__OpenBSD__)
@ -36,13 +36,18 @@ $OpenBSD: patch-mono_io-layer_processes_c,v 1.4 2012/04/13 11:51:49 robert Exp $
#else
count = proclength / sizeof(struct kinfo_proc);
#endif
@@ -2343,13 +2343,13 @@ static gchar *get_process_name_from_proc (pid_t pid)
#elif defined(__OpenBSD__)
@@ -2122,7 +2122,7 @@ static gchar *get_process_name_from_proc (pid_t pid)
#if defined(__OpenBSD__)
int mib [6];
size_t size;
- struct kinfo_proc2 *pi;
+ struct kinfo_proc *pi;
#elif defined(PLATFORM_MACOSX)
#if !(!defined (__mono_ppc__) && defined (TARGET_OSX))
size_t size;
@@ -2179,10 +2179,10 @@ static gchar *get_process_name_from_proc (pid_t pid)
#endif
#elif defined(__OpenBSD__)
mib [0] = CTL_KERN;
- mib [1] = KERN_PROC2;
+ mib [1] = KERN_PROC;
@ -53,7 +58,7 @@ $OpenBSD: patch-mono_io-layer_processes_c,v 1.4 2012/04/13 11:51:49 robert Exp $
mib [5] = 0;
retry:
@@ -2359,10 +2359,10 @@ retry:
@@ -2192,10 +2192,10 @@ retry:
if ((pi = malloc(size)) == NULL)
return(ret);

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-mono_io-layer_wthreads_c,v 1.1 2013/01/24 13:52:09 kurt Exp $
--- mono/io-layer/wthreads.c.orig Mon Jan 30 13:01:23 2012
+++ mono/io-layer/wthreads.c Mon Jan 21 16:48:48 2013
@@ -248,9 +248,11 @@ static void *thread_start_routine (gpointer args)
{
struct _WapiHandle_thread *thread = (struct _WapiHandle_thread *)args;
int thr_ret;
-
- thr_ret = mono_gc_pthread_detach (pthread_self ());
- g_assert (thr_ret == 0);
+
+ if (!(thread->create_flags & CREATE_NO_DETACH)) {
+ thr_ret = mono_gc_pthread_detach (pthread_self ());
+ g_assert (thr_ret == 0);
+ }
thr_ret = pthread_setspecific (thread_hash_key,
(void *)thread->handle);

View File

@ -0,0 +1,105 @@
$OpenBSD: patch-mono_metadata_Makefile_in,v 1.1 2014/07/09 11:39:17 robert Exp $
--- mono/metadata/Makefile.in.orig Mon Mar 31 22:27:02 2014
+++ mono/metadata/Makefile.in Tue Jul 8 14:39:43 2014
@@ -55,9 +55,9 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@SHARED_MONO_TRUE@@SUPPORT_BOEHM_TRUE@bin_PROGRAMS = pedump$(EXEEXT)
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@noinst_PROGRAMS = test-sgen-qsort$(EXEEXT) \
+@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@noinst_PROGRAMS = \
@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ test-gc-memfuncs$(EXEEXT)
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@TESTS = test-sgen-qsort$(EXEEXT) \
+@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@TESTS = \
@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ test-gc-memfuncs$(EXEEXT)
subdir = mono/metadata
DIST_COMMON = $(libmonoruntimeinclude_HEADERS) $(srcdir)/Makefile.am \
@@ -582,20 +582,6 @@ test_gc_memfuncs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(test_gc_memfuncs_CFLAGS) $(CFLAGS) \
$(test_gc_memfuncs_LDFLAGS) $(LDFLAGS) -o $@
-am__test_sgen_qsort_SOURCES_DIST = test-sgen-qsort.c
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@am_test_sgen_qsort_OBJECTS = test_sgen_qsort-test-sgen-qsort.$(OBJEXT)
-test_sgen_qsort_OBJECTS = $(am_test_sgen_qsort_OBJECTS)
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_sgen_qsort_DEPENDENCIES = \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ libmonoruntimesgen.la \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ ../io-layer/libwapi.la \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ ../utils/libmonoutils.la \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ $(am__DEPENDENCIES_1) \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ $(am__DEPENDENCIES_1) \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ $(am__DEPENDENCIES_1)
-test_sgen_qsort_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(test_sgen_qsort_CFLAGS) $(CFLAGS) $(test_sgen_qsort_LDFLAGS) \
- $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -622,14 +608,13 @@ SOURCES = $(libmonoruntime_static_la_SOURCES) \
$(libmonoruntime_la_SOURCES) \
$(libmonoruntimesgen_static_la_SOURCES) \
$(libmonoruntimesgen_la_SOURCES) $(pedump_SOURCES) \
- $(test_gc_memfuncs_SOURCES) $(test_sgen_qsort_SOURCES)
+ $(test_gc_memfuncs_SOURCES)
DIST_SOURCES = $(am__libmonoruntime_static_la_SOURCES_DIST) \
$(am__libmonoruntime_la_SOURCES_DIST) \
$(am__libmonoruntimesgen_static_la_SOURCES_DIST) \
$(am__libmonoruntimesgen_la_SOURCES_DIST) \
$(am__pedump_SOURCES_DIST) \
- $(am__test_gc_memfuncs_SOURCES_DIST) \
- $(am__test_sgen_qsort_SOURCES_DIST)
+ $(am__test_gc_memfuncs_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -1128,12 +1113,6 @@ libmonoruntimeinclude_HEADERS = \
EXTRA_DIST = make-bundle.pl sample-bundle $(win32_sources) $(unix_sources) $(null_sources) runtime.h \
tpool-poll.c tpool-epoll.c tpool-kqueue.c Makefile.am.in
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_sgen_qsort_SOURCES = test-sgen-qsort.c
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_sgen_qsort_CFLAGS = $(SGEN_DEFINES)
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_sgen_qsort_LDADD = libmonoruntimesgen.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
-@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@ $(LIBGC_LIBS) $(GLIB_LIBS) -lm $(LIBICONV)
-
-@HOST_WIN32_FALSE@@PLATFORM_DARWIN_TRUE@@SUPPORT_BOEHM_TRUE@test_sgen_qsort_LDFLAGS = -framework CoreFoundation -framework Foundation
@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_gc_memfuncs_SOURCES = test-gc-memfuncs.c
@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_gc_memfuncs_CFLAGS = $(SGEN_DEFINES)
@HOST_WIN32_FALSE@@SUPPORT_BOEHM_TRUE@test_gc_memfuncs_LDADD = libmonoruntimesgen.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
@@ -1252,9 +1231,6 @@ pedump$(EXEEXT): $(pedump_OBJECTS) $(pedump_DEPENDENCI
test-gc-memfuncs$(EXEEXT): $(test_gc_memfuncs_OBJECTS) $(test_gc_memfuncs_DEPENDENCIES) $(EXTRA_test_gc_memfuncs_DEPENDENCIES)
@rm -f test-gc-memfuncs$(EXEEXT)
$(AM_V_CCLD)$(test_gc_memfuncs_LINK) $(test_gc_memfuncs_OBJECTS) $(test_gc_memfuncs_LDADD) $(LIBS)
-test-sgen-qsort$(EXEEXT): $(test_sgen_qsort_OBJECTS) $(test_sgen_qsort_DEPENDENCIES) $(EXTRA_test_sgen_qsort_DEPENDENCIES)
- @rm -f test-sgen-qsort$(EXEEXT)
- $(AM_V_CCLD)$(test_sgen_qsort_LINK) $(test_sgen_qsort_OBJECTS) $(test_sgen_qsort_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1554,7 +1530,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmonoruntimesgen_static_la-verify.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pedump.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_gc_memfuncs-test-gc-memfuncs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -3623,20 +3598,6 @@ test_gc_memfuncs-test-gc-memfuncs.obj: test-gc-memfunc
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-gc-memfuncs.c' object='test_gc_memfuncs-test-gc-memfuncs.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_gc_memfuncs_CFLAGS) $(CFLAGS) -c -o test_gc_memfuncs-test-gc-memfuncs.obj `if test -f 'test-gc-memfuncs.c'; then $(CYGPATH_W) 'test-gc-memfuncs.c'; else $(CYGPATH_W) '$(srcdir)/test-gc-memfuncs.c'; fi`
-
-test_sgen_qsort-test-sgen-qsort.o: test-sgen-qsort.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sgen_qsort_CFLAGS) $(CFLAGS) -MT test_sgen_qsort-test-sgen-qsort.o -MD -MP -MF $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Tpo -c -o test_sgen_qsort-test-sgen-qsort.o `test -f 'test-sgen-qsort.c' || echo '$(srcdir)/'`test-sgen-qsort.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Tpo $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-sgen-qsort.c' object='test_sgen_qsort-test-sgen-qsort.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sgen_qsort_CFLAGS) $(CFLAGS) -c -o test_sgen_qsort-test-sgen-qsort.o `test -f 'test-sgen-qsort.c' || echo '$(srcdir)/'`test-sgen-qsort.c
-
-test_sgen_qsort-test-sgen-qsort.obj: test-sgen-qsort.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sgen_qsort_CFLAGS) $(CFLAGS) -MT test_sgen_qsort-test-sgen-qsort.obj -MD -MP -MF $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Tpo -c -o test_sgen_qsort-test-sgen-qsort.obj `if test -f 'test-sgen-qsort.c'; then $(CYGPATH_W) 'test-sgen-qsort.c'; else $(CYGPATH_W) '$(srcdir)/test-sgen-qsort.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Tpo $(DEPDIR)/test_sgen_qsort-test-sgen-qsort.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-sgen-qsort.c' object='test_sgen_qsort-test-sgen-qsort.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sgen_qsort_CFLAGS) $(CFLAGS) -c -o test_sgen_qsort-test-sgen-qsort.obj `if test -f 'test-sgen-qsort.c'; then $(CYGPATH_W) 'test-sgen-qsort.c'; else $(CYGPATH_W) '$(srcdir)/test-sgen-qsort.c'; fi`
mostlyclean-libtool:
-rm -f *.lo

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-mono_metadata_class_c,v 1.5 2011/11/03 09:55:12 ajacoutot Exp $
--- mono/metadata/class.c.orig Tue Aug 23 02:10:06 2011
+++ mono/metadata/class.c Thu Nov 3 08:54:45 2011
@@ -1736,7 +1736,8 @@ mono_class_layout_fields (MonoClass *class)
$OpenBSD: patch-mono_metadata_class_c,v 1.6 2014/07/09 11:39:17 robert Exp $
--- mono/metadata/class.c.orig Mon Mar 31 22:25:10 2014
+++ mono/metadata/class.c Tue Jul 8 10:25:55 2014
@@ -1894,7 +1894,8 @@ mono_class_layout_fields (MonoClass *class)
field->offset &= ~(align - 1);
}
/*TypeBuilders produce all sort of weird things*/

View File

@ -1,34 +0,0 @@
$OpenBSD: patch-mono_metadata_gc_c,v 1.2 2013/01/24 13:52:09 kurt Exp $
--- mono/metadata/gc.c.orig Mon Jan 30 13:01:23 2012
+++ mono/metadata/gc.c Mon Jan 21 16:48:48 2013
@@ -1130,7 +1130,7 @@ mono_gc_init (void)
MONO_SEM_INIT (&finalizer_sem, 0);
#endif
- gc_thread = mono_thread_create_internal (mono_domain_get (), finalizer_thread, NULL, FALSE, 0);
+ gc_thread = mono_thread_create_internal (mono_domain_get (), finalizer_thread, NULL, FALSE, TRUE, 0);
ves_icall_System_Threading_Thread_SetName_internal (gc_thread, mono_string_new (mono_domain_get (), "Finalizer"));
}
@@ -1175,6 +1175,21 @@ mono_gc_cleanup (void)
Sleep (100);
}
+ } else {
+ int ret;
+
+ /* Wait for the thread to actually exit */
+ ret = WaitForSingleObjectEx (gc_thread->handle, INFINITE, TRUE);
+ g_assert (ret == WAIT_OBJECT_0);
+
+#ifndef HOST_WIN32
+ /*
+ * The above wait only waits for the exited event to be signalled, the thread might still be running. To fix this race, we
+ * create the finalizer thread without calling pthread_detach () on it, so we can wait for it manually.
+ */
+ ret = pthread_join ((gpointer)(gsize)gc_thread->tid, NULL);
+ g_assert (ret == 0);
+#endif
}
}
gc_thread = NULL;

View File

@ -1,52 +1,10 @@
$OpenBSD: patch-mono_metadata_threadpool_c,v 1.2 2013/01/24 13:52:09 kurt Exp $
--- mono/metadata/threadpool.c.orig Mon Jan 30 13:13:39 2012
+++ mono/metadata/threadpool.c Tue Jan 22 08:59:32 2013
@@ -527,7 +527,7 @@ socket_io_init (SocketIOData *data)
data->event_system = POLL_BACKEND;
$OpenBSD: patch-mono_metadata_threadpool_c,v 1.3 2014/07/09 11:39:17 robert Exp $
--- mono/metadata/threadpool.c.orig Tue Jul 8 15:24:02 2014
+++ mono/metadata/threadpool.c Tue Jul 8 15:24:10 2014
@@ -1560,11 +1560,7 @@ async_invoke_thread (gpointer data)
init_event_system (data);
- mono_thread_create_internal (mono_get_root_domain (), data->wait, data, TRUE, SMALL_STACK);
+ mono_thread_create_internal (mono_get_root_domain (), data->wait, data, TRUE, FALSE, SMALL_STACK);
LeaveCriticalSection (&data->io_lock);
data->inited = 2;
threadpool_start_thread (&async_io_tp);
@@ -678,7 +678,7 @@ threadpool_start_idle_threads (ThreadPool *tp)
break;
}
mono_perfcounter_update_value (tp->pc_nthreads, TRUE, 1);
- mono_thread_create_internal (mono_get_root_domain (), tp->async_invoke, tp, TRUE, stack_size);
+ mono_thread_create_internal (mono_get_root_domain (), tp->async_invoke, tp, TRUE, FALSE, stack_size);
SleepEx (100, TRUE);
} while (1);
}
@@ -1014,7 +1014,7 @@ threadpool_start_thread (ThreadPool *tp)
while (!mono_runtime_is_shutting_down () && (n = tp->nthreads) < tp->max_threads) {
if (InterlockedCompareExchange (&tp->nthreads, n + 1, n) == n) {
mono_perfcounter_update_value (tp->pc_nthreads, TRUE, 1);
- mono_thread_create_internal (mono_get_root_domain (), tp->async_invoke, tp, TRUE, stack_size);
+ mono_thread_create_internal (mono_get_root_domain (), tp->async_invoke, tp, TRUE, FALSE, stack_size);
return TRUE;
}
}
@@ -1053,12 +1053,12 @@ threadpool_append_jobs (ThreadPool *tp, MonoObject **j
mono_gc_set_skip_thread (TRUE);
if (tp->pool_status == 0 && InterlockedCompareExchange (&tp->pool_status, 1, 0) == 0) {
if (!tp->is_io) {
- mono_thread_create_internal (mono_get_root_domain (), monitor_thread, NULL, TRUE, SMALL_STACK);
+ mono_thread_create_internal (mono_get_root_domain (), monitor_thread, NULL, TRUE, FALSE, SMALL_STACK);
threadpool_start_thread (tp);
}
/* Create on demand up to min_threads to avoid startup penalty for apps that don't use
* the threadpool that much
- * mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, tp, TRUE, SMALL_STACK);
+ * mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, tp, TRUE, FALSE, SMALL_STACK);
*/
}
@@ -1479,11 +1479,7 @@ async_invoke_thread (gpointer data)
gboolean res;
InterlockedIncrement (&tp->waiting);
-#if defined(__OpenBSD__)
- while (mono_cq_count (tp->queue) == 0 && (res = mono_sem_wait (&tp->new_job, TRUE)) == -1) {// && errno == EINTR) {
-#else
@ -54,16 +12,4 @@ $OpenBSD: patch-mono_metadata_threadpool_c,v 1.2 2013/01/24 13:52:09 kurt Exp $
-#endif
if (mono_runtime_is_shutting_down ())
break;
if (THREAD_WANTS_A_BREAK (thread))
@@ -1570,9 +1566,9 @@ ves_icall_System_Threading_ThreadPool_SetMinThreads (g
InterlockedExchange (&async_tp.min_threads, workerThreads);
InterlockedExchange (&async_io_tp.min_threads, completionPortThreads);
if (workerThreads > async_tp.nthreads)
- mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, &async_tp, TRUE, SMALL_STACK);
+ mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, &async_tp, TRUE, FALSE, SMALL_STACK);
if (completionPortThreads > async_io_tp.nthreads)
- mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, &async_io_tp, TRUE, SMALL_STACK);
+ mono_thread_create_internal (mono_get_root_domain (), threadpool_start_idle_threads, &async_io_tp, TRUE, FALSE, SMALL_STACK);
return TRUE;
}
check_for_interruption_critical ();

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-mono_metadata_threads-types_h,v 1.1 2013/01/24 13:52:09 kurt Exp $
--- mono/metadata/threads-types.h.orig Mon Jan 30 13:01:23 2012
+++ mono/metadata/threads-types.h Mon Jan 21 16:48:48 2013
@@ -58,7 +58,7 @@ gpointer mono_create_thread (WapiSecurityAttributes *s
guint32 stacksize, WapiThreadStart start,
gpointer param, guint32 create, gsize *tid) MONO_INTERNAL;
-MonoInternalThread* mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gboolean threadpool_thread, guint32 stack_size) MONO_INTERNAL;
+MonoInternalThread* mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gboolean threadpool_thread, gboolean no_detach, guint32 stack_size) MONO_INTERNAL;
void mono_threads_install_cleanup (MonoThreadCleanupFunc func) MONO_INTERNAL;

View File

@ -1,51 +0,0 @@
$OpenBSD: patch-mono_metadata_threads_c,v 1.3 2013/01/24 13:52:09 kurt Exp $
--- mono/metadata/threads.c.orig Mon Jan 30 13:01:23 2012
+++ mono/metadata/threads.c Mon Jan 21 16:48:48 2013
@@ -892,13 +892,22 @@ register_thread_start_argument (MonoThread *thread, st
mono_g_hash_table_insert (thread_start_args, thread, start_info->start_arg);
}
-MonoInternalThread* mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gboolean threadpool_thread, guint32 stack_size)
+/*
+ * mono_thread_create_internal:
+ *
+ * If NO_DETACH is TRUE, then the thread is not detached using pthread_detach (). This is needed to fix the race condition where waiting for a thred to exit only waits for its exit event to be
+ * signalled, which can cause shutdown crashes if the thread shutdown code accesses data already freed by the runtime shutdown.
+ * Currently, this is only used for the finalizer thread.
+ */
+MonoInternalThread*
+mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gboolean threadpool_thread, gboolean no_detach, guint32 stack_size)
{
MonoThread *thread;
MonoInternalThread *internal;
HANDLE thread_handle;
struct StartInfo *start_info;
gsize tid;
+ guint32 create_flags;
thread = create_thread_object (domain);
internal = create_internal_thread_object ();
@@ -930,8 +939,13 @@ MonoInternalThread* mono_thread_create_internal (MonoD
/* Create suspended, so we can do some housekeeping before the thread
* starts
*/
+ create_flags = CREATE_SUSPENDED;
+#ifndef HOST_WIN32
+ if (no_detach)
+ create_flags |= CREATE_NO_DETACH;
+#endif
thread_handle = mono_create_thread (NULL, stack_size, (LPTHREAD_START_ROUTINE)start_wrapper, start_info,
- CREATE_SUSPENDED, &tid);
+ create_flags, &tid);
THREAD_DEBUG (g_message ("%s: Started thread ID %"G_GSIZE_FORMAT" (handle %p)", __func__, tid, thread_handle));
if (thread_handle == NULL) {
/* The thread couldn't be created, so throw an exception */
@@ -965,7 +979,7 @@ MonoInternalThread* mono_thread_create_internal (MonoD
void
mono_thread_create (MonoDomain *domain, gpointer func, gpointer arg)
{
- mono_thread_create_internal (domain, func, arg, FALSE, 0);
+ mono_thread_create_internal (domain, func, arg, FALSE, FALSE, 0);
}
/*

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-mono_mini_main_c,v 1.2 2010/10/15 16:21:07 robert Exp $
--- mono/mini/main.c.orig Tue Oct 5 21:59:29 2010
+++ mono/mini/main.c Wed Oct 13 18:35:09 2010
@@ -88,10 +88,14 @@ main ()
$OpenBSD: patch-mono_mini_main_c,v 1.3 2014/07/09 11:39:17 robert Exp $
--- mono/mini/main.c.orig Mon Mar 31 22:25:10 2014
+++ mono/mini/main.c Tue Jul 8 10:25:55 2014
@@ -113,10 +113,14 @@ main (void)
}
#else

View File

@ -1,12 +1,20 @@
$OpenBSD: patch-mono_profiler_Makefile_in,v 1.5 2012/07/13 16:59:01 jasper Exp $
--- mono/profiler/Makefile.in.orig Wed Feb 1 21:48:04 2012
+++ mono/profiler/Makefile.in Fri Jul 13 16:36:08 2012
@@ -345,7 +345,7 @@ libmono_profiler_aot_la_LIBADD = $(LIBMONO)
$OpenBSD: patch-mono_profiler_Makefile_in,v 1.6 2014/07/09 11:39:17 robert Exp $
--- mono/profiler/Makefile.in.orig Tue Jul 8 13:51:53 2014
+++ mono/profiler/Makefile.in Tue Jul 8 13:52:28 2014
@@ -414,13 +414,13 @@ AM_CPPFLAGS = \
@DISABLE_EXECUTABLES_FALSE@@SHARED_MONO_FALSE@@SUPPORT_BOEHM_TRUE@ $(LIBGC_STATIC_LIBS)
libmono_profiler_cov_la_SOURCES = mono-cov.c
-libmono_profiler_cov_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
+libmono_profiler_cov_la_LIBADD = $(LIBMONO) $(LIBICONV)
libmono_profiler_aot_la_SOURCES = mono-profiler-aot.c
-libmono_profiler_aot_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
+libmono_profiler_aot_la_LIBADD = $(LIBMONO) $(LIBICONV)
#libmono_profiler_logging_la_SOURCES = mono-profiler-logging.c
#libmono_profiler_logging_la_LIBADD = $(LIBMONO) $(GLIB_LIBS)
#libmono_profiler_logging_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
libmono_profiler_iomap_la_SOURCES = mono-profiler-iomap.c
-libmono_profiler_iomap_la_LIBADD = $(LIBMONO) $(GLIB_LIBS)
+libmono_profiler_iomap_la_LIBADD = $(LIBMONO)
-libmono_profiler_iomap_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
+libmono_profiler_iomap_la_LIBADD = $(LIBMONO) $(LIBICONV)
libmono_profiler_log_la_SOURCES = proflog.c
libmono_profiler_log_la_LIBADD = $(LIBMONO) $(Z_LIBS)
libmono_profiler_log_la_LIBADD = $(LIBMONO) $(Z_LIBS) $(am__append_1)
mprof_report_SOURCES = decode.c

View File

@ -0,0 +1,9 @@
$OpenBSD: patch-mono_tests_gc-descriptors_gen-descriptor-tests_py,v 1.1 2014/07/09 11:39:17 robert Exp $
--- mono/tests/gc-descriptors/gen-descriptor-tests.py.orig Tue Jul 8 16:07:18 2014
+++ mono/tests/gc-descriptors/gen-descriptor-tests.py Tue Jul 8 16:14:22 2014
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/local/bin/python2.7
from optparse import OptionParser

View File

@ -1,74 +1,48 @@
$OpenBSD: patch-mono_utils_mono-proclib_c,v 1.12 2012/04/13 11:51:49 robert Exp $
--- mono/utils/mono-proclib.c.orig Mon Dec 19 22:10:27 2011
+++ mono/utils/mono-proclib.c Tue Mar 20 22:40:12 2012
@@ -25,17 +25,17 @@
#ifdef HAVE_SYS_USER_H
#include <sys/user.h>
#endif
-#ifdef HAVE_STRUCT_KINFO_PROC_KP_PROC
-# ifdef KERN_PROC2
+#if defined(__OpenBSD__)
# define kinfo_pid_member p_pid
# define kinfo_name_member p_comm
-# else
+#else
+# ifdef HAVE_STRUCT_KINFO_PROC_KP_PROC
# define kinfo_pid_member kp_proc.p_pid
# define kinfo_name_member kp_proc.p_comm
+# else
+# define kinfo_pid_member ki_pid
+# define kinfo_name_member ki_comm
# endif
-#else
-#define kinfo_pid_member ki_pid
-#define kinfo_name_member ki_comm
#endif
#define USE_SYSCTL 1
#endif
@@ -52,15 +52,13 @@ mono_process_list (int *size)
$OpenBSD: patch-mono_utils_mono-proclib_c,v 1.13 2014/07/09 11:39:17 robert Exp $
--- mono/utils/mono-proclib.c.orig Tue Jul 8 14:24:08 2014
+++ mono/utils/mono-proclib.c Tue Jul 8 14:24:21 2014
@@ -54,15 +54,15 @@ mono_process_list (int *size)
{
#if USE_SYSCTL
int res, i;
-#ifdef KERN_PROC2
+#if defined(__OpenBSD__)
+#ifdef KERN_PROC
int mib [6];
- size_t data_len = sizeof (struct kinfo_proc2) * 400;
- struct kinfo_proc2 *processes = malloc (data_len);
+ size_t data_len = sizeof (struct kinfo_proc) * 400;
+ struct kinfo_proc *processes = malloc (data_len);
#else
int mib [4];
+#endif
size_t data_len = sizeof (struct kinfo_proc) * 400;
struct kinfo_proc *processes = malloc (data_len);
-#endif /* KERN_PROC2 */
+#endif /* KERN_PROC */
void **buf = NULL;
if (size)
@@ -68,33 +66,22 @@ mono_process_list (int *size)
@@ -70,12 +70,12 @@ mono_process_list (int *size)
if (!processes)
return NULL;
-#ifdef KERN_PROC2
+#ifdef KERN_PROC
mib [0] = CTL_KERN;
- mib [1] = KERN_PROC2;
+ mib [1] = KERN_PROC;
mib [2] = KERN_PROC_ALL;
mib [3] = 0;
- mib [4] = sizeof(struct kinfo_proc2);
+#if defined(__OpenBSD__)
+ mib [4] = sizeof(struct kinfo_proc);
mib [5] = 400; /* XXX */
+#endif
- res = sysctl (mib, 6, processes, &data_len, NULL, 0);
-#else
- mib [0] = CTL_KERN;
- mib [1] = KERN_PROC;
- mib [2] = KERN_PROC_ALL;
- mib [3] = 0;
-
- res = sysctl (mib, 4, processes, &data_len, NULL, 0);
res = sysctl (mib, 6, processes, &data_len, NULL, 0);
@@ -86,17 +86,17 @@ mono_process_list (int *size)
mib [3] = 0;
res = sysctl (mib, 4, processes, &data_len, NULL, 0);
-#endif /* KERN_PROC2 */
+ res = sysctl (mib, (sizeof(mib) / sizeof(mib[0])), processes, &data_len, NULL, 0);
+#endif /* KERN_PROC */
if (res < 0) {
free (processes);
@ -76,60 +50,59 @@ $OpenBSD: patch-mono_utils_mono-proclib_c,v 1.12 2012/04/13 11:51:49 robert Exp
}
-#ifdef KERN_PROC2
- res = data_len/sizeof (struct kinfo_proc2);
-#else
+#ifdef KERN_PROC
+ res = data_len/sizeof (struct kinfo_proc);
#else
res = data_len/sizeof (struct kinfo_proc);
-#endif /* KERN_PROC2 */
+#endif /* KERN_PROC */
buf = g_realloc (buf, res * sizeof (void*));
for (i = 0; i < res; ++i)
buf [i] = GINT_TO_POINTER (processes [i].kinfo_pid_member);
@@ -188,42 +175,30 @@ mono_process_get_name (gpointer pid, char *buf, int le
@@ -190,29 +190,29 @@ mono_process_get_name (gpointer pid, char *buf, int le
{
#if USE_SYSCTL
int res;
-#ifdef KERN_PROC2
+#if defined(__OpenBSD__)
+#ifdef KERN_PROC
int mib [6];
- size_t data_len = sizeof (struct kinfo_proc2);
- struct kinfo_proc2 processi;
+ size_t data_len = sizeof (struct kinfo_proc);
+ struct kinfo_proc processi;
#else
int mib [4];
+#endif
size_t data_len = sizeof (struct kinfo_proc);
struct kinfo_proc processi;
-#endif /* KERN_PROC2 */
+#endif /* KERN_PROC */
memset (buf, 0, len);
-#ifdef KERN_PROC2
+#ifdef KERN_PROC
mib [0] = CTL_KERN;
- mib [1] = KERN_PROC2;
+ mib [1] = KERN_PROC;
mib [2] = KERN_PROC_PID;
mib [3] = GPOINTER_TO_UINT (pid);
- mib [4] = sizeof(struct kinfo_proc2);
+#if defined(__OpenBSD__)
+ mib [4] = sizeof(struct kinfo_proc);
mib [5] = 400; /* XXX */
+#endif
- res = sysctl (mib, 6, &processi, &data_len, NULL, 0);
-
res = sysctl (mib, 6, &processi, &data_len, NULL, 0);
- if (res < 0 || data_len != sizeof (struct kinfo_proc2)) {
- return buf;
- }
-#else
- mib [0] = CTL_KERN;
- mib [1] = KERN_PROC;
- mib [2] = KERN_PROC_PID;
- mib [3] = GPOINTER_TO_UINT (pid);
-
- res = sysctl (mib, 4, &processi, &data_len, NULL, 0);
+ res = sysctl (mib, (sizeof(mib) / sizeof(mib[0])), &processi, &data_len, NULL, 0);
+ if (res < 0 || data_len != sizeof (struct kinfo_proc)) {
return buf;
}
#else
@@ -225,7 +225,7 @@ mono_process_get_name (gpointer pid, char *buf, int le
if (res < 0 || data_len != sizeof (struct kinfo_proc)) {
return buf;
}
-#endif /* KERN_PROC2 */
+
+#endif /* KERN_PROC */
strncpy (buf, processi.kinfo_name_member, len - 1);
return buf;
#else

View File

@ -1,17 +1,17 @@
$OpenBSD: patch-mono_utils_mono_semaphore_c,v 1.1 2012/04/13 11:51:49 robert Exp $
--- mono/utils/mono-semaphore.c.orig Wed Apr 11 13:11:10 2012
+++ mono/utils/mono-semaphore.c Wed Apr 11 13:11:29 2012
@@ -22,9 +22,6 @@
# ifdef USE_MACH_SEMA
# define TIMESPEC mach_timespec_t
# define WAIT_BLOCK(a,b) semaphore_timedwait (*(a), *(b))
$OpenBSD: patch-mono_utils_mono-semaphore_c,v 1.1 2014/07/09 11:39:17 robert Exp $
--- mono/utils/mono-semaphore.c.orig Tue Jul 8 10:34:38 2014
+++ mono/utils/mono-semaphore.c Tue Jul 8 10:35:10 2014
@@ -25,9 +25,6 @@
# elif defined(__native_client__) && defined(USE_NEWLIB)
# define TIMESPEC struct timespec
# define WAIT_BLOCK(a, b) sem_trywait(a)
-# elif defined(__OpenBSD__)
-# define TIMESPEC struct timespec
-# define WAIT_BLOCK(a) sem_trywait(a)
# else
# define TIMESPEC struct timespec
# define WAIT_BLOCK(a,b) sem_timedwait (a, b)
@@ -37,9 +34,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
@@ -43,9 +40,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
TIMESPEC ts, copy;
struct timeval t;
int res = 0;
@ -21,7 +21,7 @@ $OpenBSD: patch-mono_utils_mono_semaphore_c,v 1.1 2012/04/13 11:51:49 robert Exp
#ifndef USE_MACH_SEMA
if (timeout_ms == 0)
@@ -59,19 +53,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
@@ -65,19 +59,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
ts.tv_nsec -= NSEC_PER_SEC;
ts.tv_sec++;
}
@ -41,7 +41,7 @@ $OpenBSD: patch-mono_utils_mono_semaphore_c,v 1.1 2012/04/13 11:51:49 robert Exp
copy = ts;
while ((res = WAIT_BLOCK (sem, &ts)) == -1 && errno == EINTR) {
struct timeval current;
@@ -98,7 +79,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
@@ -104,7 +85,6 @@ mono_sem_timedwait (MonoSemType *sem, guint32 timeout_
ts.tv_nsec = 0;
}
}

View File

@ -1,9 +1,12 @@
$OpenBSD: patch-runtime_mono-wrapper_in,v 1.4 2010/10/15 16:21:07 robert Exp $
--- runtime/mono-wrapper.in.orig Tue Oct 5 21:59:29 2010
+++ runtime/mono-wrapper.in Wed Oct 13 18:39:27 2010
@@ -4,4 +4,4 @@ MONO_CFG_DIR='@mono_cfg_dir@'
$OpenBSD: patch-runtime_mono-wrapper_in,v 1.5 2014/07/09 11:39:17 robert Exp $
--- runtime/mono-wrapper.in.orig Wed Feb 19 19:48:46 2014
+++ runtime/mono-wrapper.in Tue Jul 8 10:25:55 2014
@@ -4,7 +4,7 @@ MONO_CFG_DIR='@mono_cfg_dir@'
PATH="$r/runtime/_tmpinst/bin:$PATH"
MONO_SHARED_DIR=$r/runtime
export MONO_CFG_DIR MONO_SHARED_DIR PATH
-exec "$r/libtool" --mode=execute "$r/@mono_runtime@" --config "@mono_cfg_dir@/mono/config" "$@"
-if [ -n "@nacl_self_host@" ]; then
+exec "${LIBTOOL}" --mode=execute "$r/@mono_runtime@" --config "@mono_cfg_dir@/mono/config" "$@"
case "$@" in
# gacutil.exe and mdoc.exe require filesystem functionality not
# exposed in NaCl.

View File

@ -1,9 +0,0 @@
$OpenBSD: patch-runtime_monodis-wrapper_in,v 1.4 2011/11/03 09:55:12 ajacoutot Exp $
--- runtime/monodis-wrapper.in.orig Tue Aug 9 03:18:47 2011
+++ runtime/monodis-wrapper.in Thu Nov 3 08:54:45 2011
@@ -3,4 +3,4 @@ r='@mono_build_root@'
MONO_CFG_DIR='@mono_cfg_dir@'
MONO_SHARED_DIR=$r/runtime
export MONO_CFG_DIR MONO_SHARED_DIR
-exec "$r/libtool" --mode=execute -dlopen "$r/mono/mini/libmono-2.0.la" "$r/mono/dis/monodis" "$@"
+exec "${LIBTOOL}" --mode=execute -dlopen "$r/mono/mini/libmono.la" "$r/mono/dis/monodis" "$@"

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-support_sys-mman_c,v 1.1 2014/07/09 11:39:17 robert Exp $
--- support/sys-mman.c.orig Tue Jul 8 13:07:33 2014
+++ support/sys-mman.c Tue Jul 8 13:10:35 2014
@@ -9,13 +9,15 @@
#include <config.h>
+#if !defined(__OpenBSD__)
#define _XOPEN_SOURCE 600
+#endif
#ifdef PLATFORM_MACOSX
/* For mincore () */
#define _DARWIN_C_SOURCE
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
/* For mincore () */
#define __BSD_VISIBLE 1
#endif

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PFRAG.shared,v 1.3 2011/03/02 08:37:51 robert Exp $
@comment $OpenBSD: PFRAG.shared,v 1.4 2014/07/09 11:39:17 robert Exp $
lib/libMonoPosixHelper.so
lib/libMonoSupportW.so
lib/libikvm-native.so
@ -7,4 +7,4 @@ lib/libikvm-native.so
@lib lib/libmono-profiler-cov.so.${LIBmono-profiler-cov_VERSION}
@lib lib/libmono-profiler-iomap.so.${LIBmono-profiler-iomap_VERSION}
@lib lib/libmono-profiler-log.so.${LIBmono-profiler-log_VERSION}
@lib lib/libmonosgen-2.0.so.${LIBmonosgen-2.0_VERSION}
@lib lib/libmonoboehm-2.0.so.${LIBmonoboehm-2.0_VERSION}

File diff suppressed because it is too large Load Diff