Updated to 3.4.0

This commit is contained in:
Denis Silakov 2015-01-13 23:58:13 +04:00
parent 8004d46bb4
commit 7151b3c98f
8 changed files with 914 additions and 983 deletions

View file

@ -1,2 +1,5 @@
removed_sources:
mono-2.10.9.tar.bz2: 1a6e8c5a0c3d88d87982259aa04402e028a283de
sources:
"mono-2.10.9.tar.bz2": 1a6e8c5a0c3d88d87982259aa04402e028a283de
mono-3.4.0.tar.bz2: bae86f50f9a29d68d4e1917358996e7186e7f89e
mono.snk: b1ed4139f1dec3258166918570852bfc77f68dbb

View file

@ -0,0 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Microsoft.Portable.Core.props" />
<Import Project="..\Microsoft.Portable.Core.targets" />
</Project>

View file

@ -0,0 +1,40 @@
From 722f9890f09aadfc37ae479e7d946d5fc5ef7b91 Mon Sep 17 00:00:00 2001
From: Sebastien Pouliot <sebastien@ximian.com>
Date: Wed, 6 Apr 2011 13:24:31 -0400
Subject: [PATCH] Fix access to freed members of a dead thread
* threads.c: Fix access to freed members of a dead thread. Found
and fixed by Rodrigo Kumpera <rkumpera@novell.com>
Ref: CVE-2011-0992
---
mono/metadata/threads.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c
index 3fe4e93..a7a721d 100644
--- a/mono/metadata/threads.c
+++ b/mono/metadata/threads.c
@@ -1036,12 +1036,17 @@ void ves_icall_System_Threading_InternalThread_Thread_free_internal (MonoInterna
CloseHandle (thread);
if (this->synch_cs) {
- DeleteCriticalSection (this->synch_cs);
- g_free (this->synch_cs);
+ CRITICAL_SECTION *synch_cs = this->synch_cs;
this->synch_cs = NULL;
+ DeleteCriticalSection (synch_cs);
+ g_free (synch_cs);
}
- g_free (this->name);
+ if (this->name) {
+ void *name = this->name;
+ this->name = NULL;
+ g_free (name);
+ }
}
static void mono_thread_start (MonoThread *thread)
--
1.7.5.4

View file

@ -0,0 +1,8 @@
--- runtime/mono-wrapper.in.build 2011-09-17 13:35:55.000000000 +0200
+++ runtime/mono-wrapper.in 2011-09-17 13:37:09.000000000 +0200
@@ -4,4 +4,5 @@
PATH="$r/runtime/_tmpinst/bin:$PATH"
MONO_SHARED_DIR=$r/runtime
export MONO_CFG_DIR MONO_SHARED_DIR PATH
+paxctl -mr "$r/@mono_runtime@"
exec "$r/libtool" --mode=execute "$r/@mono_runtime@" --config "@mono_cfg_dir@/mono/config" "$@"

31
mono-armv6-check.patch Normal file
View file

@ -0,0 +1,31 @@
--- mono-3.0.12/configure.in.orig 2013-07-06 14:22:54.866000000 +0200
+++ mono-3.0.12/configure.in 2013-07-06 14:30:38.044000000 +0200
@@ -3039,16 +3039,19 @@
unset fpu
if test x$cross_compiling = xno; then
- AC_MSG_CHECKING(for ARMV6)
- AC_TRY_RUN([
- int main () { __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory"); return 0; }
- ], armv6=yes, armv6=no)
+ AC_ARG_WITH(armv6, [ --with-armv6=yes,no If you want to check for armv6+ membarrier (defaults to yes)],[], [with_armv6=yes])
+ if test x$with_armv6 = xyes; then
+ AC_MSG_CHECKING(for ARMV6)
+ AC_TRY_RUN([
+ int main () { __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory"); return 0; }
+ ], armv6=yes, armv6=no)
- AC_MSG_RESULT($armv6)
- if test ${armv6} = yes; then
- AC_DEFINE(HAVE_ARMV6, 1, "Host supports ARMV6 instructions")
- # libgc's gc_locks.h depends on this
- CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DHAVE_ARMV6"
+ AC_MSG_RESULT($armv6)
+ if test ${armv6} = yes; then
+ AC_DEFINE(HAVE_ARMV6, 1, "Host supports ARMV6 instructions")
+ # libgc's gc_locks.h depends on this
+ CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DHAVE_ARMV6"
+ fi
fi
fi
fi

View file

@ -1,7 +1,6 @@
diff -p -up mono-2.2/data/config.in.dllmap mono-2.2/data/config.in
--- mono-2.2/data/config.in.dllmap 2008-09-02 17:42:56.000000000 +0200
+++ mono-2.2/data/config.in 2009-01-14 09:56:39.000000000 +0100
@@ -5,12 +5,14 @@
--- mono-3.0.12/data/config.in.orig 2013-07-08 23:45:09.075000000 +0200
+++ mono-3.0.12/data/config.in 2013-07-08 23:46:07.143000000 +0200
@@ -5,12 +5,13 @@
<dllmap dll="intl" name="bind_textdomain_codeset" target="@LIBC@" os="solaris"/>
<dllmap dll="libintl" name="bind_textdomain_codeset" target="@LIBC@" os="solaris"/>
<dllmap dll="libintl" target="@INTL@" os="!windows"/>
@ -13,8 +12,20 @@ diff -p -up mono-2.2/data/config.in.dllmap mono-2.2/data/config.in
<dllmap dll="oci" target="libclntsh@libsuffix@" os="!windows"/>
<dllmap dll="db2cli" target="libdb2_36@libsuffix@" os="!windows"/>
<dllmap dll="MonoPosixHelper" target="libMonoPosixHelper@libsuffix@" os="!windows" />
+ <dllmap dll="gdiplus.dll" target="libgdiplus.so.0"/>
+ <dllmap dll="gluezilla" target="libgluezilla.so.0"/>
<dllmap dll="i:msvcrt" target="@LIBC@" os="!windows"/>
<dllmap dll="i:msvcrt.dll" target="@LIBC@" os="!windows"/>
<dllmap dll="sqlite" target="@SQLITE@" os="!windows"/>
@@ -26,8 +27,8 @@
<dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
<dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
</dllmap>
- <dllmap dll="gdiplus" target="@prefix@/lib/libgdiplus@libsuffix@" os="!windows"/>
- <dllmap dll="gdiplus.dll" target="@prefix@/lib/libgdiplus@libsuffix@" os="!windows"/>
+ <dllmap dll="gdiplus" target="libgdiplus@libsuffix@.0" os="!windows"/>
+ <dllmap dll="gdiplus.dll" target="libgdiplus@libsuffix@.0" os="!windows"/>
- <dllmap dll="gdi32" target="@prefix@/lib/libgdiplus@libsuffix@" os="!windows"/>
- <dllmap dll="gdi32.dll" target="@prefix@/lib/libgdiplus@libsuffix@" os="!windows"/>
+ <dllmap dll="gdi32" target="libgdiplus@libsuffix@" os="!windows"/>
+ <dllmap dll="gdi32.dll" target="libgdiplus@libsuffix@" os="!windows"/>
</configuration>

BIN
mono.snk

Binary file not shown.

1786
mono.spec

File diff suppressed because it is too large Load diff