enable cooperative suspend by default

Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -1356,7 +1356,7 @@ with_unreal_default=no
 with_wasm_default=no
 
 with_bitcode_default=no
-enable_cooperative_suspend_default=no
+enable_cooperative_suspend_default=yes
 enable_hybrid_suspend_default=no
 
 # For the sake of clearer error messages, these numbers should all be different from each other.
@@ -5727,7 +5727,7 @@ fi
 dnl Now check if there were flags overriding the defaults
 
 AC_ARG_WITH(cooperative_gc,        [  --with-cooperative-gc=yes|no        Enable cooperative stop-the-world garbage collection (sgen only) (defaults to no)], [AC_MSG_WARN([--with-cooperative-gc is deprecated, use --enable-cooperative-suspend instead])], [with_cooperative_gc=default])
-AC_ARG_ENABLE(cooperative_suspend, [  --enable-cooperative-suspend      Enable cooperative stop-the-world garbage collection (sgen only) (defaults to no)], [], [enable_cooperative_suspend=default])
+AC_ARG_ENABLE(cooperative_suspend, [  --enable-cooperative-suspend      Enable cooperative stop-the-world garbage collection (sgen only) (defaults to yes)], [], [enable_cooperative_suspend=yes])
 
 if test x$enable_cooperative_suspend = xdefault -a x$with_cooperative_gc != xdefault; then
 	enable_cooperative_suspend=$with_cooperative_gc
@@ -5742,7 +5742,7 @@ if test x$enable_cooperative_suspend != xno; then
 	enable_hybrid_suspend_default=no
 fi
 
-AM_CONDITIONAL([ENABLE_COOP_SUSPEND], [test x$enable_cooperative_suspend != xno])
+AM_CONDITIONAL([DISABLE_COOP_SUSPEND], [test x$enable_cooperative_suspend == xno])
 
 AC_ARG_ENABLE(hybrid_suspend, [ --enable-hybrid-suspend     Enable hybrid stop-the-world garbage collection (sgen only) - cooperative suspend for threads running managed and runtime code, and preemptive suspend for threads running native and P/Invoke code (defaults to no)], [], [enable_hybrid_suspend=default])
 
@@ -6605,6 +6605,22 @@ elif case $host_os in netbsd*) true;; *) false;; esac;
 	AC_MSG_RESULT(netbsd)
 
 	MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_NETBSD"
+elif case $host_os in openbsd*) true;; *) false;; esac; then
+	mono_native_text="OpenBSD"
+	MONO_NATIVE_CC=$CC
+	MONO_NATIVE_CXX=$CXX
+	MONO_NATIVE_CPPFLAGS=$CPPFLAGS
+	MONO_NATIVE_CXXFLAGS=$CXXFLAGS
+	MONO_NATIVE_CFLAGS=$CFLAGS
+	MONO_NATIVE_LDFLAGS=$LDFLAGS
+
+	mono_native=yes
+	mono_native_compat=no
+	MONO_NATIVE_PLATFORM=openbsd
+	AC_MSG_CHECKING([Mono.Native support])
+	AC_MSG_RESULT(openbsd)
+
+	MONO_NATIVE_PLATFORM_TYPE="MONO_NATIVE_PLATFORM_TYPE_OPENBSD"
 elif case $host_os in haiku*) true;; *) false;; esac; then
 	mono_native_text="Haiku"
 	MONO_NATIVE_CC=$CC
@@ -6679,6 +6695,7 @@ AM_CONDITIONAL(MONO_NATIVE_PLATFORM_AIX, test x$MONO_N
 AM_CONDITIONAL(MONO_NATIVE_PLATFORM_ANDROID, test x$MONO_NATIVE_PLATFORM = xandroid)
 AM_CONDITIONAL(MONO_NATIVE_PLATFORM_FREEBSD, test x$MONO_NATIVE_PLATFORM = xfreebsd)
 AM_CONDITIONAL(MONO_NATIVE_PLATFORM_NETBSD, test x$MONO_NATIVE_PLATFORM = xnetbsd)
+AM_CONDITIONAL(MONO_NATIVE_PLATFORM_OPENBSD, test x$MONO_NATIVE_PLATFORM = xopenbsd)
 AM_CONDITIONAL(MONO_NATIVE_PLATFORM_HAIKU, test x$MONO_NATIVE_PLATFORM = xhaiku)
 
 MONO_NATIVE_PLATFORM_TYPE_COMPAT="$MONO_NATIVE_PLATFORM_TYPE | MONO_NATIVE_PLATFORM_TYPE_COMPAT"
