diff options
author | Mirco Bauer <meebey@meebey.net> | 2011-08-25 20:33:56 +0200 |
---|---|---|
committer | Mirco Bauer <meebey@meebey.net> | 2011-08-25 20:33:56 +0200 |
commit | 854fa78b45d532884288ce8d5ad5d8e60ccc9ffe (patch) | |
tree | 85f4e34db5b5bda6c6a1cd4e08af4b53be6fc827 | |
parent | 85bc08e2bbb037c091c14c3379780f43dc74aa4f (diff) | |
download | mono-upstream/2.10.5.tar.gz |
Imported Upstream version 2.10.5upstream/2.10.5
146 files changed, 709 insertions, 201 deletions
@@ -1,3 +1,7 @@ +2011-08-22 Alex Corrado <alexc@xamarin.com> + + 2.10.5 + 2011-08-08 Alex Corrado <alexc@xamarin.com> 2.10.4 @@ -3598,7 +3598,7 @@ fi # Define the identity of the package. PACKAGE=mono - VERSION=2.10.4 + VERSION=2.10.5 cat >>confdefs.h <<_ACEOF diff --git a/configure.in b/configure.in index a771d1e648..33436835db 100644 --- a/configure.in +++ b/configure.in @@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,2.10.4) +AM_INIT_AUTOMAKE(mono,2.10.5) AM_MAINTAINER_MODE API_VER=2.0 diff --git a/data/Makefile.in b/data/Makefile.in index def24dfcc9..06a568ff80 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -373,9 +373,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu data/Makefile + $(AUTOMAKE) --foreign data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/data/net_2_0/Browsers/Makefile.in b/data/net_2_0/Browsers/Makefile.in index cbfb79e4cf..5f6006ad72 100644 --- a/data/net_2_0/Browsers/Makefile.in +++ b/data/net_2_0/Browsers/Makefile.in @@ -285,9 +285,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/net_2_0/Browsers/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/net_2_0/Browsers/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu data/net_2_0/Browsers/Makefile + $(AUTOMAKE) --foreign data/net_2_0/Browsers/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/data/net_2_0/Makefile.in b/data/net_2_0/Makefile.in index 4f6ff60e85..c0055bcd4b 100644 --- a/data/net_2_0/Makefile.in +++ b/data/net_2_0/Makefile.in @@ -334,9 +334,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/net_2_0/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/net_2_0/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu data/net_2_0/Makefile + $(AUTOMAKE) --foreign data/net_2_0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/data/net_4_0/Makefile.in b/data/net_4_0/Makefile.in index 17291d6a52..a284b19ff3 100644 --- a/data/net_4_0/Makefile.in +++ b/data/net_4_0/Makefile.in @@ -334,9 +334,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/net_4_0/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/net_4_0/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu data/net_4_0/Makefile + $(AUTOMAKE) --foreign data/net_4_0/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/docs/Makefile.in b/docs/Makefile.in index b04d7af117..a803ed9c92 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -348,9 +348,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/Makefile + $(AUTOMAKE) --foreign docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/eglib/ChangeLog b/eglib/ChangeLog index 4f4631e619..5aa5a6be4e 100644 --- a/eglib/ChangeLog +++ b/eglib/ChangeLog @@ -1,3 +1,7 @@ +2011-08-16 Rodrigo Kumpera <kumpera@gmail.com> + + Fix g_log redirection under android. + 2011-07-29 Chris Toshok <toshok@gmail.com> don't redefine ABS diff --git a/eglib/config.h.in b/eglib/config.h.in index 3c3c286aa9..b85edfd70a 100644 --- a/eglib/config.h.in +++ b/eglib/config.h.in @@ -97,6 +97,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Targeting the Android platform */ +#undef PLATFORM_ANDROID + /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT diff --git a/eglib/configure b/eglib/configure index d848e8a2c8..26317ba134 100755 --- a/eglib/configure +++ b/eglib/configure @@ -11170,6 +11170,9 @@ case $host in ;; *-*-linux-android*) platform_android=yes + +$as_echo "#define PLATFORM_ANDROID 1" >>confdefs.h + PATHSEP='/' SEARCHSEP=':' OS="UNIX" diff --git a/eglib/configure.ac b/eglib/configure.ac index bab4ab49bb..b011dbe3ad 100644 --- a/eglib/configure.ac +++ b/eglib/configure.ac @@ -58,6 +58,7 @@ case $host in ;; *-*-linux-android*) platform_android=yes + AC_DEFINE(PLATFORM_ANDROID,1,[Targeting the Android platform]) PATHSEP='/' SEARCHSEP=':' OS="UNIX" diff --git a/eglib/src/goutput.c b/eglib/src/goutput.c index bce2f0a159..755aaa937f 100644 --- a/eglib/src/goutput.c +++ b/eglib/src/goutput.c @@ -24,6 +24,7 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include <config.h> #include <stdio.h> #include <stdlib.h> #include <glib.h> diff --git a/ikvm-native/Makefile.in b/ikvm-native/Makefile.in index 5d9a8ec9b9..97069181e5 100644 --- a/ikvm-native/Makefile.in +++ b/ikvm-native/Makefile.in @@ -307,9 +307,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ikvm-native/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ikvm-native/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu ikvm-native/Makefile + $(AUTOMAKE) --foreign ikvm-native/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/man/Makefile.in b/man/Makefile.in index bb8473c0b7..e983f37ae4 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -343,9 +343,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile + $(AUTOMAKE) --foreign man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciStatementHandle.cs b/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciStatementHandle.cs index 69da02eee7..0ccd2538d7 100644 --- a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciStatementHandle.cs +++ b/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciStatementHandle.cs @@ -263,15 +263,10 @@ namespace System.Data.OracleClient.Oci { rsize = rsizep.ToUInt64 (); //rsize = Encoding.UTF8.GetMaxByteCount (commandText.Length+1); - Console.WriteLine ("OCIStatementHandle:Prepare: CmdText:{0}, rsize:{1} ", - commandText, rsize); // Fill buffer buffer = new byte[rsize]; - Console.WriteLine ("OCIStatementHandle:Prepare: buffer.Length:{0}, this.columnCount:{1}", - buffer.Length, this.ColumnCount); - OciCalls.OCIUnicodeToCharSet (Parent, buffer, commandText, ref rsizep); // Execute statement diff --git a/mcs/class/System/System.Collections.Generic/ChangeLog b/mcs/class/System/System.Collections.Generic/ChangeLog index ee9123ca69..e7e63c42cc 100644 --- a/mcs/class/System/System.Collections.Generic/ChangeLog +++ b/mcs/class/System/System.Collections.Generic/ChangeLog @@ -1,3 +1,14 @@ +2011-08-18 Alan McGovern <alan.mcgovern@gmail.com> + + [LinkedList] Optimise Clear slightly. + +2011-08-18 Alan McGovern <alan.mcgovern@gmail.com> + + Merge pull request #161 from LogosBible/master + + Fix bug #311: On LinkedList.Clear, detach each node instead of + dropping them en masse. + 2011-04-19 Lluis Sanchez <lluis@novell.com> Fix ICollection.CopyTo in the Stack class diff --git a/mcs/class/System/System.Collections.Generic/LinkedList.cs b/mcs/class/System/System.Collections.Generic/LinkedList.cs index 5fd2c91dde..4f95b0c54c 100644 --- a/mcs/class/System/System.Collections.Generic/LinkedList.cs +++ b/mcs/class/System/System.Collections.Generic/LinkedList.cs @@ -182,9 +182,8 @@ namespace System.Collections.Generic public void Clear () { - count = 0; - first = null; - version++; + while (first != null) + Remove (first); } public bool Contains (T value) diff --git a/mcs/class/System/System.Net/ChangeLog b/mcs/class/System/System.Net/ChangeLog index 88600df68d..a3bbe0aae1 100644 --- a/mcs/class/System/System.Net/ChangeLog +++ b/mcs/class/System/System.Net/ChangeLog @@ -1,3 +1,16 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + +2011-08-11 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com> + + Fix the range for rnd.Next() + +2011-08-09 Jeffrey Stedfast <jeff@xamarin.com> + + If #CONFIGURATION_DEP isn't defined, we still want to get a + default proxy + 2011-07-06 Jeffrey Stedfast <jeff@xamarin.com> Load the correct type on MacOSX (as opposed to iOS) diff --git a/mcs/class/System/System.Net/WebConnectionGroup.cs b/mcs/class/System/System.Net/WebConnectionGroup.cs index 8f0c5aa194..80cf2342a5 100644 --- a/mcs/class/System/System.Net/WebConnectionGroup.cs +++ b/mcs/class/System/System.Net/WebConnectionGroup.cs @@ -5,6 +5,7 @@ // Gonzalo Paniagua Javier (gonzalo@ximian.com) // // (C) 2003 Ximian, Inc (http://www.ximian.com) +// Copyright 2011 Xamarin, Inc (http://www.xamarin.com) // // @@ -160,7 +161,7 @@ namespace System.Net if (rnd == null) rnd = new Random (); - int idx = (count > 1) ? rnd.Next (0, count - 1) : 0; + int idx = (count > 1) ? rnd.Next (0, count) : 0; cncRef = (WeakReference) connections [idx]; cnc = cncRef.Target as WebConnection; if (cnc == null) { diff --git a/mcs/class/System/System.Net/WebRequest.cs b/mcs/class/System/System.Net/WebRequest.cs index 59e4122eac..5e63342f52 100644 --- a/mcs/class/System/System.Net/WebRequest.cs +++ b/mcs/class/System/System.Net/WebRequest.cs @@ -246,10 +246,10 @@ namespace System.Net [MonoTODO("Needs to respect Module, Proxy.AutoDetect, and Proxy.ScriptLocation config settings")] static IWebProxy GetDefaultWebProxy () { - WebProxy p = null; - #if CONFIGURATION_DEP DefaultProxySection sec = ConfigurationManager.GetSection ("system.net/defaultProxy") as DefaultProxySection; + WebProxy p; + if (sec == null) return GetSystemWebProxy (); @@ -265,8 +265,11 @@ namespace System.Net if (pe.BypassOnLocal != ProxyElement.BypassOnLocalValues.Unspecified) p.BypassProxyOnLocal = (pe.BypassOnLocal == ProxyElement.BypassOnLocalValues.True); -#endif + return p; +#else + return GetSystemWebProxy (); +#endif } #endif diff --git a/mcs/class/System/System.Security.Cryptography.X509Certificates/ChangeLog b/mcs/class/System/System.Security.Cryptography.X509Certificates/ChangeLog index cbcd0c4c6e..364f0676c8 100644 --- a/mcs/class/System/System.Security.Cryptography.X509Certificates/ChangeLog +++ b/mcs/class/System/System.Security.Cryptography.X509Certificates/ChangeLog @@ -1,3 +1,13 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + +2011-08-12 Sebastien Pouliot <sebastien@xamarin.com> + + Use 'as' for casting certificate extensions since we already deal + with null and malformed extensions will throw, hard to debug, ICE + when we just want to ignore them + 2011-02-11 Sebastien Pouliot <sebastien@ximian.com> Continue X509Chain processing even if the local machine directory diff --git a/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs b/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs index b0bea7c875..cc1bab65e7 100644 --- a/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs +++ b/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Chain.cs @@ -6,6 +6,7 @@ // // (C) 2003 Motus Technologies Inc. (http://www.motus.com) // Copyright (C) 2004-2006 Novell Inc. (http://www.novell.com) +// Copyright (C) 2011 Xamarin Inc. (http://www.xamarin.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the @@ -601,7 +602,7 @@ namespace System.Security.Cryptography.X509Certificates { // TODO 6.1.4.g-j // 6.1.4.k - Verify that the certificate is a CA certificate - X509BasicConstraintsExtension bce = (X509BasicConstraintsExtension) certificate.Extensions["2.5.29.19"]; + X509BasicConstraintsExtension bce = (certificate.Extensions["2.5.29.19"] as X509BasicConstraintsExtension); if (bce != null) { if (!bce.CertificateAuthority) { element.StatusFlags |= X509ChainStatusFlags.InvalidBasicConstraints; @@ -636,7 +637,7 @@ namespace System.Security.Cryptography.X509Certificates { } // 6.1.4.n - if key usage extension is present... - X509KeyUsageExtension kue = (X509KeyUsageExtension) certificate.Extensions["2.5.29.15"]; + X509KeyUsageExtension kue = (certificate.Extensions["2.5.29.15"] as X509KeyUsageExtension); if (kue != null) { // ... verify keyCertSign is set X509KeyUsageFlags success = X509KeyUsageFlags.KeyCertSign; @@ -703,7 +704,7 @@ namespace System.Security.Cryptography.X509Certificates { private string GetSubjectKeyIdentifier (X509Certificate2 certificate) { - X509SubjectKeyIdentifierExtension ski = (X509SubjectKeyIdentifierExtension) certificate.Extensions["2.5.29.14"]; + X509SubjectKeyIdentifierExtension ski = (certificate.Extensions["2.5.29.14"] as X509SubjectKeyIdentifierExtension); return (ski == null) ? String.Empty : ski.SubjectKeyIdentifier; } @@ -816,7 +817,7 @@ namespace System.Security.Cryptography.X509Certificates { private X509ChainStatusFlags CheckRevocation (X509Certificate2 certificate, X509Certificate2 ca_cert, bool online) { // change this if/when we support OCSP - X509KeyUsageExtension kue = (X509KeyUsageExtension) ca_cert.Extensions["2.5.29.15"]; + X509KeyUsageExtension kue = (ca_cert.Extensions["2.5.29.15"] as X509KeyUsageExtension); if (kue != null) { // ... verify CrlSign is set X509KeyUsageFlags success = X509KeyUsageFlags.CrlSign; @@ -834,7 +835,7 @@ namespace System.Security.Cryptography.X509Certificates { // crl = FindCrl (ca_cert, ref valid, ref out_of_date); // We need to get the subjectAltName and an URI from there (or use OCSP) - // X509KeyUsageExtension subjectAltName = (X509KeyUsageExtension) ca_cert.Extensions["2.5.29.17"]; + // X509KeyUsageExtension subjectAltName = (ca_cert.Extensions["2.5.29.17"] as X509KeyUsageExtension); } if (crl != null) { diff --git a/mcs/class/System/System.Text.RegularExpressions/ChangeLog b/mcs/class/System/System.Text.RegularExpressions/ChangeLog index 0ecbf8e28e..9256d031b1 100644 --- a/mcs/class/System/System.Text.RegularExpressions/ChangeLog +++ b/mcs/class/System/System.Text.RegularExpressions/ChangeLog @@ -1,3 +1,23 @@ +2011-08-09 Jonathan Pryor <jonpryor@vt.edu> + + [System,MOBILE] Add + System.Text.RegularExpressions.RegexOptions.Compiled. + + Add the RegexOptions.Compiled enumeration value to the MOBILE + profile. + + Fixes: http://bugzilla.xamarin.com/show_bug.cgi?id=149 + + MonoTouch and Mono for Android still use `PatternCompiler`, which + is interpreted. Thus RegexOptions.Compiled is ignored, and is + present only for compatibility with Windows Phone 7, which states + [0]: + + Present only in Silverlight for Windows Phone, but not supported. + + [0] + http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regexoptions(VS.96).aspx + 2011-01-06 Zoltan Varga <vargaz@gmail.com> Change some usages of ArrayList to List<T> to avoid calls to the diff --git a/mcs/class/System/System.Text.RegularExpressions/Regex.cs b/mcs/class/System/System.Text.RegularExpressions/Regex.cs index 8ebce72d35..287f9b1f02 100644 --- a/mcs/class/System/System.Text.RegularExpressions/Regex.cs +++ b/mcs/class/System/System.Text.RegularExpressions/Regex.cs @@ -224,7 +224,7 @@ namespace System.Text.RegularExpressions { RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.ExplicitCapture | -#if !NET_2_1 +#if MOBILE || !NET_2_1 RegexOptions.Compiled | #endif RegexOptions.Singleline | @@ -236,7 +236,7 @@ namespace System.Text.RegularExpressions { const RegexOptions ecmaopts = RegexOptions.IgnoreCase | RegexOptions.Multiline | -#if !NET_2_1 +#if MOBILE || !NET_2_1 RegexOptions.Compiled | #endif RegexOptions.ECMAScript; diff --git a/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs b/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs index e1a893fc9f..1a2599d64a 100644 --- a/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs +++ b/mcs/class/System/System.Text.RegularExpressions/RegexOptions.cs @@ -35,7 +35,7 @@ namespace System.Text.RegularExpressions { IgnoreCase = 0x001, Multiline = 0x002, ExplicitCapture = 0x004, -#if !NET_2_1 +#if MOBILE || !NET_2_1 Compiled = 0x008, #endif Singleline = 0x010, diff --git a/mcs/class/System/Test/System.Collections.Generic/ChangeLog b/mcs/class/System/Test/System.Collections.Generic/ChangeLog index 9a5853501d..0792d71a86 100644 --- a/mcs/class/System/Test/System.Collections.Generic/ChangeLog +++ b/mcs/class/System/Test/System.Collections.Generic/ChangeLog @@ -1,3 +1,10 @@ +2011-08-18 Alan McGovern <alan.mcgovern@gmail.com> + + Merge pull request #161 from LogosBible/master + + Fix bug #311: On LinkedList.Clear, detach each node instead of + dropping them en masse. + 2010-12-26 Luke Halliwell <luke.j.halliwell@gmail.com> Fix for bug 349053 - unable to serialize SortedDictionary diff --git a/mcs/class/System/Test/System.Collections.Generic/LinkedListTest.cs b/mcs/class/System/Test/System.Collections.Generic/LinkedListTest.cs index ae7e9f8f52..f5605744bd 100644 --- a/mcs/class/System/Test/System.Collections.Generic/LinkedListTest.cs +++ b/mcs/class/System/Test/System.Collections.Generic/LinkedListTest.cs @@ -84,8 +84,13 @@ namespace MonoTests.System.Collections.Generic [Test] public void ClearTest () { + LinkedListNode <int> node = intlist.First; intlist.Clear (); + Assert.AreEqual (0, intlist.Count); + Assert.AreEqual (2, node.Value); + Assert.IsNull (node.Next); + Assert.IsNull (node.Previous); } [Test] diff --git a/mcs/class/WindowsBase/ChangeLog b/mcs/class/WindowsBase/ChangeLog index b3324bf878..c7added099 100644 --- a/mcs/class/WindowsBase/ChangeLog +++ b/mcs/class/WindowsBase/ChangeLog @@ -1,3 +1,11 @@ +2011-08-17 Alan McGovern <alan.mcgovern@gmail.com> + + [System.IO.Packaging] Fix calling convention related issues + + The P/Invokes should be Cdecl as the library is compiled with that + calling convention. The delegates passed to native code must also + be marshalled as Cdecl. Fixes BXC #223. + 2011-02-01 Atsushi Eno <atsushi@ximian.com> in NET_4_0, remove types that went into System.Xaml.dll. Change diff --git a/mcs/class/WindowsBase/ZipSharp/IOFunctions.cs b/mcs/class/WindowsBase/ZipSharp/IOFunctions.cs index ade29a8910..04e6a3e9ca 100644 --- a/mcs/class/WindowsBase/ZipSharp/IOFunctions.cs +++ b/mcs/class/WindowsBase/ZipSharp/IOFunctions.cs @@ -17,15 +17,25 @@ namespace zipsharp AddInZip = 2 } + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate IntPtr OpenFileFunc (IntPtr opaque, string filename, int mode); + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate /* ulong */ IntPtr ReadFileFunc (IntPtr opaque, IntPtr stream, IntPtr buffer, /* ulong */ IntPtr size); + + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate /* ulong */ IntPtr WriteFileFunc (IntPtr opaque, IntPtr stream, IntPtr buffer, /* ulong */ IntPtr size); + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate /* long */ IntPtr TellFileFunc (IntPtr opaque, IntPtr stream); + + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate /* long */ IntPtr SeekFileFunc (IntPtr opaque, IntPtr stream, /* ulong */ IntPtr offset, int origin); + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate int CloseFileFunc (IntPtr opaque, IntPtr stream); + + [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)] internal delegate int TestErrorFileFunc (IntPtr opaque, IntPtr stream); [StructLayout (LayoutKind.Sequential)] @@ -38,6 +48,6 @@ namespace zipsharp [MarshalAs (UnmanagedType.FunctionPtr)] public SeekFileFunc zseek_file; [MarshalAs (UnmanagedType.FunctionPtr)] public CloseFileFunc zclose_file; [MarshalAs (UnmanagedType.FunctionPtr)] public TestErrorFileFunc zerror_file; - [MarshalAs (UnmanagedType.FunctionPtr)] public IntPtr opaque; + public IntPtr opaque; } } diff --git a/mcs/class/WindowsBase/ZipSharp/NativeUnzip.cs b/mcs/class/WindowsBase/ZipSharp/NativeUnzip.cs index 61c2026c48..47e277bdbf 100644 --- a/mcs/class/WindowsBase/ZipSharp/NativeUnzip.cs +++ b/mcs/class/WindowsBase/ZipSharp/NativeUnzip.cs @@ -147,34 +147,34 @@ namespace zipsharp return unzReadCurrentFile (handle, b, (uint)count); } - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzCloseCurrentFile (UnzipHandle handle); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern IntPtr unztell (UnzipHandle handle); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzGoToFirstFile (UnzipHandle handle); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern UnzipHandle unzOpen2 (string path, ref ZlibFileFuncDef pzlib_filefunc_def); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzGoToNextFile (UnzipHandle handle); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzLocateFile (UnzipHandle handle, string szFileName, int iCaseSensitivity); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzOpenCurrentFile2 (UnzipHandle handle, out int method, out int level, int raw); - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzGetCurrentFileInfo (UnzipHandle handle, out UnzipFileInfo pfile_info, StringBuilder szFileName, @@ -184,15 +184,15 @@ namespace zipsharp StringBuilder szComment, IntPtr commentBufferSize); // uLong - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static unsafe extern int unzReadCurrentFile (UnzipHandle handle, byte* buf, // voidp uint len); - //[DllImport ("MonoPosixHelper")] + //[DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] //static extern int unzSetOffset (UnzipHandle handle, IntPtr pos); // uLong - [DllImport ("MonoPosixHelper")] + [DllImport ("MonoPosixHelper", CallingConvention=CallingConvention.Cdecl)] static extern int unzClose (UnzipHandle handle); } } diff --git a/mcs/class/corlib/System.Threading.Tasks/ChangeLog b/mcs/class/corlib/System.Threading.Tasks/ChangeLog index df964640e8..b29320b6eb 100644 --- a/mcs/class/corlib/System.Threading.Tasks/ChangeLog +++ b/mcs/class/corlib/System.Threading.Tasks/ChangeLog @@ -1,3 +1,32 @@ +2011-08-20 Jérémie Laval <jeremie.laval@gmail.com> + + Throw when a non-finished task is started + +2011-08-20 Jérémie Laval <jeremie.laval@gmail.com> + + Make TaskCompletionSource methods thread-safe + + Conflicts: + + mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs + +2011-08-17 Jérémie Laval <jeremie.laval@gmail.com> + + Fix coding style + +2011-08-16 Jérémie Laval <jeremie.laval@gmail.com> + + Backport TaskCreationOptions check from master + +2011-08-10 Jérémie Laval <jeremie.laval@gmail.com> + + Avoid creating a delegate instance in general case when setting up + continuations + + Conflicts: + + mcs/class/corlib/System.Threading.Tasks/Task.cs + 2011-08-05 Jérémie Laval <jeremie.laval@gmail.com> Fix for #162 diff --git a/mcs/class/corlib/System.Threading.Tasks/Task.cs b/mcs/class/corlib/System.Threading.Tasks/Task.cs index 399504fc0b..392aed5034 100644 --- a/mcs/class/corlib/System.Threading.Tasks/Task.cs +++ b/mcs/class/corlib/System.Threading.Tasks/Task.cs @@ -68,6 +68,9 @@ namespace System.Threading.Tasks CancellationToken token; + const TaskCreationOptions MaxTaskCreationOptions = + TaskCreationOptions.PreferFairness | TaskCreationOptions.LongRunning | TaskCreationOptions.AttachedToParent; + public Task (Action action) : this (action, TaskCreationOptions.None) { @@ -104,6 +107,9 @@ namespace System.Threading.Tasks public Task (Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions) { + if (creationOptions > MaxTaskCreationOptions || creationOptions < TaskCreationOptions.None) + throw new ArgumentOutOfRangeException ("creationOptions"); + this.taskCreationOptions = creationOptions; this.action = action == null ? EmptyFunc : action; this.state = state; @@ -236,7 +242,7 @@ namespace System.Threading.Tasks internal void ContinueWithCore (Task continuation, TaskContinuationOptions continuationOptions, TaskScheduler scheduler) { - ContinueWithCore (continuation, continuationOptions, scheduler, () => true); + ContinueWithCore (continuation, continuationOptions, scheduler, null); } internal void ContinueWithCore (Task continuation, TaskContinuationOptions kind, @@ -249,8 +255,8 @@ namespace System.Threading.Tasks AtomicBoolean launched = new AtomicBoolean (); EventHandler action = delegate (object sender, EventArgs e) { - if (!launched.Value && launched.TrySet ()) { - if (!predicate ()) + if (launched.TryRelaxedSet ()) { + if (predicate != null && !predicate ()) return; if (!ContinuationStatusCheck (kind)) { @@ -729,6 +735,9 @@ namespace System.Threading.Tasks protected virtual void Dispose (bool disposing) { + if (!IsCompleted) + throw new InvalidOperationException ("A task may only be disposed if it is in a completion state"); + // Set action to null so that the GC can collect the delegate and thus // any big object references that the user might have captured in a anonymous method if (disposing) { diff --git a/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs b/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs index 7ecc6a3d2e..74525bc7e3 100644 --- a/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs +++ b/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs @@ -32,7 +32,8 @@ namespace System.Threading.Tasks { public class TaskCompletionSource<TResult> { - Task<TResult> source; + readonly Task<TResult> source; + SpinLock opLock = new SpinLock (false); public TaskCompletionSource () { @@ -108,17 +109,24 @@ namespace System.Threading.Tasks bool ApplyOperation (Action action) { - if (CheckInvalidState ()) - return false; + bool taken = false; + try { + opLock.Enter (ref taken); + if (CheckInvalidState ()) + return false; - source.Status = TaskStatus.Running; + source.Status = TaskStatus.Running; - if (action != null) - action (); + if (action != null) + action (); - source.Finish (); + source.Finish (); - return true; + return true; + } finally { + if (taken) + opLock.Exit (); + } } bool CheckInvalidState () diff --git a/mcs/class/corlib/System/ChangeLog b/mcs/class/corlib/System/ChangeLog index 0b39bca0cd..6b7354a162 100644 --- a/mcs/class/corlib/System/ChangeLog +++ b/mcs/class/corlib/System/ChangeLog @@ -1,3 +1,19 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + +2011-08-15 Jeffrey Stedfast <jeff@xamarin.com> + + Fix for bug #445855 + + In this day and age of mobile personal computing devices, we need + to periodically check the underlying system timezone because the + device may have crossed a timezone boundary. + +2011-08-11 Rodrigo Kumpera <kumpera@gmail.com> + + Add IObserver/IObservable to MOBILE profile. + 2011-07-27 Jérémie Laval <jeremie.laval@gmail.com> Move innerExceptions internal null check at the right place. diff --git a/mcs/class/corlib/System/IObservable.cs b/mcs/class/corlib/System/IObservable.cs index 677bdf3872..3d9a2cb911 100644 --- a/mcs/class/corlib/System/IObservable.cs +++ b/mcs/class/corlib/System/IObservable.cs @@ -26,7 +26,7 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -#if NET_4_0 +#if NET_4_0 || MOBILE namespace System { diff --git a/mcs/class/corlib/System/IObserver.cs b/mcs/class/corlib/System/IObserver.cs index 2201e06748..3f704c7178 100644 --- a/mcs/class/corlib/System/IObserver.cs +++ b/mcs/class/corlib/System/IObserver.cs @@ -26,7 +26,7 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -#if NET_4_0 +#if NET_4_0 || MOBILE namespace System { diff --git a/mcs/class/corlib/System/TimeZone.cs b/mcs/class/corlib/System/TimeZone.cs index 515938a876..1a682476d5 100644 --- a/mcs/class/corlib/System/TimeZone.cs +++ b/mcs/class/corlib/System/TimeZone.cs @@ -8,6 +8,7 @@ // // (C) Ximian, Inc. // Copyright (C) 2004-2006 Novell, Inc (http://www.novell.com) +// Copyright 2011 Xamarin Inc. // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the @@ -54,6 +55,9 @@ namespace System // Fields static TimeZone currentTimeZone; + [NonSerialized] + static long timezone_check; + // Constructor protected TimeZone () { @@ -62,8 +66,13 @@ namespace System // Properties public static TimeZone CurrentTimeZone { get { - if (currentTimeZone == null) - currentTimeZone = new CurrentSystemTimeZone (DateTime.GetNow ()); + long now = DateTime.GetNow (); + + if (currentTimeZone == null || (now - timezone_check) > TimeSpan.TicksPerMinute) { + currentTimeZone = new CurrentSystemTimeZone (now); + timezone_check = now; + } + return currentTimeZone; } } diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyNameTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyNameTest.cs index 937c4274f9..818627b138 100644 --- a/mcs/class/corlib/Test/System.Reflection/AssemblyNameTest.cs +++ b/mcs/class/corlib/Test/System.Reflection/AssemblyNameTest.cs @@ -1992,6 +1992,16 @@ public class AssemblyNameTest { Assert.IsNotNull (ex.Message, "#4"); } } + + [Test (Description="Xamarin bug #99 - whitespaces in key=value")] + public void WhiteSpaceInKeyValue () + { + string nameWithSpaces = String.Format ("MySql.Data.Tests, PublicKey = \t {0}, Culture =\tneutral, Version=\t1.2.3.4", GetTokenString (publicKey1)); + string fullName = "MySql.Data.Tests, Version=1.2.3.4, Culture=neutral, PublicKeyToken=ce5276d8687ec6dc"; + var an = new AssemblyName (nameWithSpaces); + + Assert.AreEqual (fullName, an.FullName); + } #endif } diff --git a/mcs/class/corlib/Test/System.Reflection/ChangeLog b/mcs/class/corlib/Test/System.Reflection/ChangeLog index 6f61c6d46a..8bb3cbfac3 100644 --- a/mcs/class/corlib/Test/System.Reflection/ChangeLog +++ b/mcs/class/corlib/Test/System.Reflection/ChangeLog @@ -1,3 +1,8 @@ +2011-08-11 Marek Habersack <grendel@twistedcode.net> + + [runtime] Fix for Xamarin bug #99. Don't fail to parse assembly + names with spaces surrounding = in key=value pairs + 2011-02-03 Marek Habersack <grendel@twistedcode.net> [reflection] Default binder's AdjustArguments method treats diff --git a/mcs/class/corlib/Test/System.Threading.Tasks/ChangeLog b/mcs/class/corlib/Test/System.Threading.Tasks/ChangeLog index 59bd1ce131..f7e5c1a536 100644 --- a/mcs/class/corlib/Test/System.Threading.Tasks/ChangeLog +++ b/mcs/class/corlib/Test/System.Threading.Tasks/ChangeLog @@ -1,3 +1,7 @@ +2011-08-20 Jérémie Laval <jeremie.laval@gmail.com> + + Throw when a non-finished task is started + 2011-08-05 Jérémie Laval <jeremie.laval@gmail.com> Fix for #162 diff --git a/mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs b/mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs index e0ba4f38de..38e144c12f 100644 --- a/mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs +++ b/mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs @@ -312,6 +312,13 @@ namespace MonoTests.System.Threading.Tasks t.Start (); } + + [Test, ExpectedException (typeof (InvalidOperationException))] + public void DisposeUnstartedTest () + { + var t = new Task (() => { }); + t.Dispose (); + } } } #endif diff --git a/mcs/class/corlib/Test/System/ChangeLog b/mcs/class/corlib/Test/System/ChangeLog index d498ee2c16..7996d891c5 100644 --- a/mcs/class/corlib/Test/System/ChangeLog +++ b/mcs/class/corlib/Test/System/ChangeLog @@ -1,3 +1,7 @@ +2011-08-19 Rodrigo Kumpera <kumpera@gmail.com> + + Fix variance test involving nullable types. + 2011-07-27 Jérémie Laval <jeremie.laval@gmail.com> Add test for various AggregateException ctor exception situations diff --git a/mcs/class/corlib/Test/System/TypeTest.cs b/mcs/class/corlib/Test/System/TypeTest.cs index 1ccc17f10d..21135ab22e 100644 --- a/mcs/class/corlib/Test/System/TypeTest.cs +++ b/mcs/class/corlib/Test/System/TypeTest.cs @@ -3894,6 +3894,10 @@ PublicKeyToken=b77a5c561934e089")); MustTLE (string.Format ("{0}ZZZZ,{1}", typeof (MyRealEnum).FullName, aqn)); } + [Test] //bug #124 + public void IsAssignableFromWithNullable () { + Console.WriteLine(typeof(IEnumerable<int?>).IsAssignableFrom(typeof(IEnumerable<int>))); + } #endif public abstract class Stream : IDisposable diff --git a/mcs/mcs/ChangeLog b/mcs/mcs/ChangeLog index 9eb5bbf8c5..3f0ac6d62d 100644 --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@ -1,3 +1,7 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + 2011-07-20 Martinho Fernandes <martinho.fernandes@gmail.com> [Fix] Command-line option -checked now works (bug #706877) diff --git a/mcs/mcs/context.cs b/mcs/mcs/context.cs index f3c2e8495c..238cd37416 100644 --- a/mcs/mcs/context.cs +++ b/mcs/mcs/context.cs @@ -7,6 +7,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2004-2009 Novell, Inc. +// Copyright 2011 Xamarin Inc. // using System; diff --git a/mcs/mcs/convert.cs b/mcs/mcs/convert.cs index 9e49dcd7a3..523ef9a0ab 100644 --- a/mcs/mcs/convert.cs +++ b/mcs/mcs/convert.cs @@ -8,6 +8,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2003-2008 Novell, Inc. +// Copyright 2011 Xamarin, Inc (http://www.xamarin.com) // using System; diff --git a/mcs/mcs/cs-parser.jay b/mcs/mcs/cs-parser.jay index 4a1267bdb6..3c5d8c96fe 100644 --- a/mcs/mcs/cs-parser.jay +++ b/mcs/mcs/cs-parser.jay @@ -2,14 +2,15 @@ // // cs-parser.jay: The Parser for the C# compiler // -// Authors: Miguel de Icaza (miguel@gnu.org) +// Authors: Miguel de Icaza (miguel@gnome.org) // Ravi Pratap (ravi@ximian.com) -// Marek Safar (marek.safar@gmail.com) +// Marek Safar (marek.safar@gmail.com) // // Dual Licensed under the terms of the GNU GPL and the MIT X11 license // // (C) 2001 Ximian, Inc (http://www.ximian.com) -// (C) 2004 Novell, Inc +// (C) 2004-2011 Novell, Inc +// Copyright 2011 Xamarin Inc. // // TODO: // (1) Figure out why error productions dont work. `type-declaration' is a diff --git a/mcs/mcs/dynamic.cs b/mcs/mcs/dynamic.cs index 2919672dec..d9c5b0b010 100644 --- a/mcs/mcs/dynamic.cs +++ b/mcs/mcs/dynamic.cs @@ -6,6 +6,7 @@ // Dual licensed under the terms of the MIT X11 or GNU GPL // // Copyright 2009 Novell, Inc +// Copyright 2011 Xamarin Inc. // using System; diff --git a/mcs/mcs/ecore.cs b/mcs/mcs/ecore.cs index 0545cf0c5d..3a55a77850 100644 --- a/mcs/mcs/ecore.cs +++ b/mcs/mcs/ecore.cs @@ -7,6 +7,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2003-2008 Novell, Inc. +// Copyright 2011 Xamarin Inc. // // diff --git a/mcs/mcs/expression.cs b/mcs/mcs/expression.cs index 343ed0d1bb..275747e9fb 100644 --- a/mcs/mcs/expression.cs +++ b/mcs/mcs/expression.cs @@ -7,6 +7,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2003-2008 Novell, Inc. +// Copyright 2011 Xamarin Inc. // using System; diff --git a/mcs/mcs/flowanalysis.cs b/mcs/mcs/flowanalysis.cs index 07c9233b18..a7e51bc014 100644 --- a/mcs/mcs/flowanalysis.cs +++ b/mcs/mcs/flowanalysis.cs @@ -7,6 +7,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2003-2008 Novell, Inc. +// Copyright 2011 Xamarin, Inc. // using System; diff --git a/mcs/mcs/import.cs b/mcs/mcs/import.cs index 9f44f12358..73f567c71d 100644 --- a/mcs/mcs/import.cs +++ b/mcs/mcs/import.cs @@ -5,7 +5,8 @@ // // Dual licensed under the terms of the MIT X11 or GNU GPL // -// Copyright 2009, 2010 Novell, Inc +// Copyright 2009-2011 Novell, Inc +// Copyright 2011 Xamarin, Inc (http://www.xamarin.com) // using System; diff --git a/mcs/mcs/iterators.cs b/mcs/mcs/iterators.cs index 37a9b00b4d..d0d70aefad 100644 --- a/mcs/mcs/iterators.cs +++ b/mcs/mcs/iterators.cs @@ -8,6 +8,7 @@ // Dual licensed under the terms of the MIT X11 or GNU GPL // Copyright 2003 Ximian, Inc. // Copyright 2003-2008 Novell, Inc. +// Copyright 2011 Xamarin Inc. // // TODO: diff --git a/mcs/mcs/statement.cs b/mcs/mcs/statement.cs index b3409b98c7..e16f0c54d5 100644 --- a/mcs/mcs/statement.cs +++ b/mcs/mcs/statement.cs @@ -8,6 +8,7 @@ // // Copyright 2001, 2002, 2003 Ximian, Inc. // Copyright 2003, 2004 Novell, Inc. +// Copyright 2011 Xamarin Inc. // using System; diff --git a/mono/Makefile.in b/mono/Makefile.in index 17dc61709c..0b000b5eec 100644 --- a/mono/Makefile.in +++ b/mono/Makefile.in @@ -301,9 +301,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/Makefile + $(AUTOMAKE) --foreign mono/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/Makefile.in b/mono/arch/Makefile.in index 5ae660f641..c8a682ec00 100644 --- a/mono/arch/Makefile.in +++ b/mono/arch/Makefile.in @@ -324,9 +324,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/Makefile + $(AUTOMAKE) --foreign mono/arch/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/alpha/Makefile.in b/mono/arch/alpha/Makefile.in index 812e6d2c14..3e79914b5a 100644 --- a/mono/arch/alpha/Makefile.in +++ b/mono/arch/alpha/Makefile.in @@ -285,9 +285,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/alpha/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/alpha/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/alpha/Makefile + $(AUTOMAKE) --foreign mono/arch/alpha/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/amd64/Makefile.in b/mono/arch/amd64/Makefile.in index 9f079d14d8..0a4cc741a5 100644 --- a/mono/arch/amd64/Makefile.in +++ b/mono/arch/amd64/Makefile.in @@ -279,9 +279,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/amd64/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/amd64/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/amd64/Makefile + $(AUTOMAKE) --foreign mono/arch/amd64/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/arm/Makefile.in b/mono/arch/arm/Makefile.in index 39ee75ded0..bb69dd2993 100644 --- a/mono/arch/arm/Makefile.in +++ b/mono/arch/arm/Makefile.in @@ -293,9 +293,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/arm/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/arm/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/arm/Makefile + $(AUTOMAKE) --foreign mono/arch/arm/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/hppa/Makefile.in b/mono/arch/hppa/Makefile.in index 545eb2f8a7..aa0d94e3b4 100644 --- a/mono/arch/hppa/Makefile.in +++ b/mono/arch/hppa/Makefile.in @@ -279,9 +279,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/hppa/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/hppa/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/hppa/Makefile + $(AUTOMAKE) --foreign mono/arch/hppa/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/ia64/Makefile.in b/mono/arch/ia64/Makefile.in index 50d251eed1..b000ef87cd 100644 --- a/mono/arch/ia64/Makefile.in +++ b/mono/arch/ia64/Makefile.in @@ -259,9 +259,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/ia64/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/ia64/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/ia64/Makefile + $(AUTOMAKE) --foreign mono/arch/ia64/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/mips/Makefile.in b/mono/arch/mips/Makefile.in index 0cf4ac3dfc..3ee92e7af2 100644 --- a/mono/arch/mips/Makefile.in +++ b/mono/arch/mips/Makefile.in @@ -285,9 +285,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/mips/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/mips/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/mips/Makefile + $(AUTOMAKE) --foreign mono/arch/mips/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/ppc/Makefile.in b/mono/arch/ppc/Makefile.in index 0b01d3f7b5..041a977451 100644 --- a/mono/arch/ppc/Makefile.in +++ b/mono/arch/ppc/Makefile.in @@ -287,9 +287,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/ppc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/ppc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/ppc/Makefile + $(AUTOMAKE) --foreign mono/arch/ppc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/s390/Makefile.in b/mono/arch/s390/Makefile.in index dbe5a7b1d3..4eda7efcd7 100644 --- a/mono/arch/s390/Makefile.in +++ b/mono/arch/s390/Makefile.in @@ -279,9 +279,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/s390/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/s390/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/s390/Makefile + $(AUTOMAKE) --foreign mono/arch/s390/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/s390x/Makefile.in b/mono/arch/s390x/Makefile.in index fb41b40e51..dc9dc602ba 100644 --- a/mono/arch/s390x/Makefile.in +++ b/mono/arch/s390x/Makefile.in @@ -279,9 +279,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/s390x/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/s390x/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/s390x/Makefile + $(AUTOMAKE) --foreign mono/arch/s390x/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/sparc/Makefile.in b/mono/arch/sparc/Makefile.in index 28cd29b9f0..4368435ab0 100644 --- a/mono/arch/sparc/Makefile.in +++ b/mono/arch/sparc/Makefile.in @@ -279,9 +279,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/sparc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/sparc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/sparc/Makefile + $(AUTOMAKE) --foreign mono/arch/sparc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/arch/x86/Makefile.in b/mono/arch/x86/Makefile.in index eb55cacfb8..13252891ba 100644 --- a/mono/arch/x86/Makefile.in +++ b/mono/arch/x86/Makefile.in @@ -281,9 +281,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/arch/x86/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/arch/x86/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/arch/x86/Makefile + $(AUTOMAKE) --foreign mono/arch/x86/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/benchmark/Makefile.in b/mono/benchmark/Makefile.in index 5e659afa3a..bf5fca7360 100644 --- a/mono/benchmark/Makefile.in +++ b/mono/benchmark/Makefile.in @@ -304,9 +304,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/benchmark/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/benchmark/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/benchmark/Makefile + $(AUTOMAKE) --foreign mono/benchmark/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/cil/Makefile.in b/mono/cil/Makefile.in index 862be8daea..b2ebc1ad12 100644 --- a/mono/cil/Makefile.in +++ b/mono/cil/Makefile.in @@ -288,9 +288,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/cil/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/cil/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/cil/Makefile + $(AUTOMAKE) --foreign mono/cil/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/dis/Makefile.in b/mono/dis/Makefile.in index 27bbd4b856..a56246a504 100644 --- a/mono/dis/Makefile.in +++ b/mono/dis/Makefile.in @@ -345,9 +345,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/dis/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/dis/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/dis/Makefile + $(AUTOMAKE) --foreign mono/dis/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/interpreter/Makefile.in b/mono/interpreter/Makefile.in index eeee74a218..e8731cd1ef 100644 --- a/mono/interpreter/Makefile.in +++ b/mono/interpreter/Makefile.in @@ -362,9 +362,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/interpreter/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/interpreter/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/interpreter/Makefile + $(AUTOMAKE) --foreign mono/interpreter/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/io-layer/ChangeLog b/mono/io-layer/ChangeLog index 08632ab370..c5fe937357 100644 --- a/mono/io-layer/ChangeLog +++ b/mono/io-layer/ChangeLog @@ -1,3 +1,7 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + 2011-07-01 Duane Wandless <dwandless@pixmaclt10.local> Fix crash on Lion when exiting diff --git a/mono/io-layer/Makefile.in b/mono/io-layer/Makefile.in index 7889e1675d..6cc8c34b09 100644 --- a/mono/io-layer/Makefile.in +++ b/mono/io-layer/Makefile.in @@ -442,9 +442,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/io-layer/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/io-layer/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/io-layer/Makefile + $(AUTOMAKE) --foreign mono/io-layer/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/io-layer/wthreads.c b/mono/io-layer/wthreads.c index 8b4675c647..6e059506dd 100644 --- a/mono/io-layer/wthreads.c +++ b/mono/io-layer/wthreads.c @@ -5,6 +5,8 @@ * Dick Porter (dick@ximian.com) * * (C) 2002-2006 Ximian, Inc. + * Copyright 2003-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 8136892fc8..82af2eeeec 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,62 @@ +2011-08-19 Rodrigo Kumpera <kumpera@gmail.com> + + Fix sgen-arm-mach. It requires some #define juggling. . + +2011-08-19 Rodrigo Kumpera <kumpera@gmail.com> + + * class.c (mono_class_is_variant_compatible): Reject valuetypes if + not the same straight away. This fixes testing IEnumerable<int?> + with IEnumerable<int>. + + Fixes bxc #185 + +2011-08-18 Rodrigo Kumpera <kumpera@gmail.com> + + * sgen-bridge.c (dyn_array_ensure_capacity): We must correctly + calculate the size as our allocator asserts when we do it with + very large allocs. + +2011-08-17 Rodrigo Kumpera <kumpera@gmail.com> + + Fix android's broken pthread_kill under sgen. + +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + More updates + +2011-08-13 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com> + + [threadpool] Exit on unhandled exceptions only + + Unhandled exceptions will only set the exitcode if there is no + AppDomain unhandled exception handler. When the exitcode is set, + the TP will exit for unhandled exceptions. + + Fixes bug #227. + +2011-08-12 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com> + + [threadpool] Work around for a race-condition + + Under some circumstances new_job was not signaled and the + threadpool threads didn't realized there was a workitem in the + queue. + + Fixes Xamarin bug #12 and Novell bug #690357. + +2011-08-11 Marek Habersack <grendel@twistedcode.net> + + Compilation fix for e449d41158a205581e7519cc961b7c618f6163a8 + +2011-08-11 Marek Habersack <grendel@twistedcode.net> + + [runtime] Fix for Xamarin bug #99. Don't fail to parse assembly + names with spaces surrounding = in key=value pairs + 2011-08-04 Mark Probst <mark.probst@gmail.com> [sgen] Enqueue finalizers after update the pointer. diff --git a/mono/metadata/Makefile.in b/mono/metadata/Makefile.in index e06fccd4b7..47891ff11f 100644 --- a/mono/metadata/Makefile.in +++ b/mono/metadata/Makefile.in @@ -1104,9 +1104,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/metadata/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/metadata/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/metadata/Makefile + $(AUTOMAKE) --foreign mono/metadata/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/metadata/assembly.c b/mono/metadata/assembly.c index f5e98c88bd..98bca63786 100644 --- a/mono/metadata/assembly.c +++ b/mono/metadata/assembly.c @@ -6,6 +6,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> #include <stdio.h> @@ -1847,6 +1848,25 @@ parse_assembly_directory_name (const char *name, const char *dirname, MonoAssemb return res; } +static gboolean +split_key_value (const gchar *pair, gchar **key, guint32 *keylen, gchar **value) +{ + char *eqsign = strchr (pair, '='); + if (!eqsign) { + *key = NULL; + *keylen = 0; + *value = NULL; + return FALSE; + } + + *key = (gchar*)pair; + *keylen = eqsign - *key; + while (*keylen > 0 && g_ascii_isspace ((*key) [*keylen - 1])) + (*keylen)--; + *value = g_strstrip (eqsign + 1); + return TRUE; +} + gboolean mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboolean save_public_key, gboolean *is_version_defined, gboolean *is_token_defined) { @@ -1857,7 +1877,8 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole gchar *key = NULL; gchar *retargetable = NULL; gboolean res; - gchar *value; + gchar *value, *part_name; + guint32 part_name_len; gchar **parts; gchar **tmp; gboolean version_defined; @@ -1883,10 +1904,12 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole tmp++; while (*tmp) { - value = g_strstrip (*tmp); - if (!g_ascii_strncasecmp (value, "Version=", 8)) { + if (!split_key_value (g_strstrip (*tmp), &part_name, &part_name_len, &value)) + goto cleanup_and_fail; + + if (part_name_len == 7 && !g_ascii_strncasecmp (part_name, "Version", part_name_len)) { *is_version_defined = TRUE; - version = g_strstrip (value + 8); + version = value; if (strlen (version) == 0) { goto cleanup_and_fail; } @@ -1894,8 +1917,8 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole continue; } - if (!g_ascii_strncasecmp (value, "Culture=", 8)) { - culture = g_strstrip (value + 8); + if (part_name_len == 7 && !g_ascii_strncasecmp (part_name, "Culture", part_name_len)) { + culture = value; if (strlen (culture) == 0) { goto cleanup_and_fail; } @@ -1903,9 +1926,9 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole continue; } - if (!g_ascii_strncasecmp (value, "PublicKeyToken=", 15)) { + if (part_name_len == 14 && !g_ascii_strncasecmp (part_name, "PublicKeyToken", part_name_len)) { *is_token_defined = TRUE; - token = g_strstrip (value + 15); + token = value; if (strlen (token) == 0) { goto cleanup_and_fail; } @@ -1913,8 +1936,8 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole continue; } - if (!g_ascii_strncasecmp (value, "PublicKey=", 10)) { - key = g_strstrip (value + 10); + if (part_name_len == 9 && !g_ascii_strncasecmp (part_name, "PublicKey", part_name_len)) { + key = value; if (strlen (key) == 0) { goto cleanup_and_fail; } @@ -1922,8 +1945,8 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole continue; } - if (!g_ascii_strncasecmp (value, "Retargetable=", 13)) { - retargetable = g_strstrip (value + 13); + if (part_name_len == 12 && !g_ascii_strncasecmp (part_name, "Retargetable", part_name_len)) { + retargetable = value; if (strlen (retargetable) == 0) { goto cleanup_and_fail; } @@ -1936,17 +1959,16 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole continue; } - if (!g_ascii_strncasecmp (value, "ProcessorArchitecture=", 22)) { - char *s = g_strstrip (value + 22); - if (!g_ascii_strcasecmp (s, "None")) + if (part_name_len == 21 && !g_ascii_strncasecmp (part_name, "ProcessorArchitecture", part_name_len)) { + if (!g_ascii_strcasecmp (value, "None")) arch = PROCESSOR_ARCHITECTURE_NONE; - else if (!g_ascii_strcasecmp (s, "MSIL")) + else if (!g_ascii_strcasecmp (value, "MSIL")) arch = PROCESSOR_ARCHITECTURE_MSIL; - else if (!g_ascii_strcasecmp (s, "X86")) + else if (!g_ascii_strcasecmp (value, "X86")) arch = PROCESSOR_ARCHITECTURE_X86; - else if (!g_ascii_strcasecmp (s, "IA64")) + else if (!g_ascii_strcasecmp (value, "IA64")) arch = PROCESSOR_ARCHITECTURE_IA64; - else if (!g_ascii_strcasecmp (s, "AMD64")) + else if (!g_ascii_strcasecmp (value, "AMD64")) arch = PROCESSOR_ARCHITECTURE_AMD64; else goto cleanup_and_fail; diff --git a/mono/metadata/boehm-gc.c b/mono/metadata/boehm-gc.c index fa5846d92a..1d161090c7 100644 --- a/mono/metadata/boehm-gc.c +++ b/mono/metadata/boehm-gc.c @@ -2,7 +2,8 @@ * boehm-gc.c: GC implementation using either the installed or included Boehm GC. * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) - * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2004-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "config.h" diff --git a/mono/metadata/class.c b/mono/metadata/class.c index af61902fc2..e18ce76dcc 100644 --- a/mono/metadata/class.c +++ b/mono/metadata/class.c @@ -7262,7 +7262,7 @@ mono_class_is_variant_compatible (MonoClass *klass, MonoClass *oklass) MonoClass *param1_class = mono_class_from_mono_type (klass_argv [j]); MonoClass *param2_class = mono_class_from_mono_type (oklass_argv [j]); - if (param1_class->valuetype != param2_class->valuetype) + if (param1_class->valuetype != param2_class->valuetype || (param1_class->valuetype && param1_class != param2_class)) return FALSE; /* diff --git a/mono/metadata/domain.c b/mono/metadata/domain.c index b53ab634f0..e1fb7182d6 100644 --- a/mono/metadata/domain.c +++ b/mono/metadata/domain.c @@ -7,6 +7,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/metadata/loader.c b/mono/metadata/loader.c index 9e06e13131..4a9b148f7f 100644 --- a/mono/metadata/loader.c +++ b/mono/metadata/loader.c @@ -8,6 +8,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) * * This file is used by the interpreter and the JIT engine to locate * assemblies. Used to load AssemblyRef and later to resolve various diff --git a/mono/metadata/marshal.c b/mono/metadata/marshal.c index 78520e255c..7ca77544e0 100644 --- a/mono/metadata/marshal.c +++ b/mono/metadata/marshal.c @@ -6,6 +6,7 @@ * * Copyright 2002-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) * */ diff --git a/mono/metadata/mempool.c b/mono/metadata/mempool.c index 33d381f59f..9bd4c40dc7 100644 --- a/mono/metadata/mempool.c +++ b/mono/metadata/mempool.c @@ -9,6 +9,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin Inc. (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/metadata/mono-debug.c b/mono/metadata/mono-debug.c index bd468f96e2..ee94911c38 100644 --- a/mono/metadata/mono-debug.c +++ b/mono/metadata/mono-debug.c @@ -6,6 +6,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/metadata/mono-wsq.c b/mono/metadata/mono-wsq.c index 3c36dcee88..c18c45c68a 100644 --- a/mono/metadata/mono-wsq.c +++ b/mono/metadata/mono-wsq.c @@ -5,6 +5,7 @@ * Gonzalo Paniagua Javier (gonzalo@novell.com) * * Copyright (c) 2010 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <string.h> diff --git a/mono/metadata/null-gc.c b/mono/metadata/null-gc.c index 7f37edaad3..6e337e4b3a 100644 --- a/mono/metadata/null-gc.c +++ b/mono/metadata/null-gc.c @@ -2,7 +2,8 @@ * null-gc.c: GC implementation using malloc: will leak everything, just for testing. * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) - * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2004-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "config.h" diff --git a/mono/metadata/object.c b/mono/metadata/object.c index 4c6f15ee4c..a309ce9727 100644 --- a/mono/metadata/object.c +++ b/mono/metadata/object.c @@ -6,7 +6,8 @@ * Paolo Molaro (lupus@ximian.com) * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) - * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2004-2011 Novell, Inc (http://www.novell.com) + * Copyright 2001 Xamarin Inc (http://www.xamarin.com) */ #include <config.h> #ifdef HAVE_ALLOCA_H @@ -3824,9 +3825,9 @@ mono_unhandled_exception (MonoObject *exc) } /* set exitcode only if we will abort the process */ - if (abort_process) - mono_environment_exitcode_set (1); if ((current_appdomain_delegate == NULL) && (root_appdomain_delegate == NULL)) { + if (abort_process) + mono_environment_exitcode_set (1); mono_print_unhandled_exception (exc); } else { if (root_appdomain_delegate) { diff --git a/mono/metadata/sgen-bridge.c b/mono/metadata/sgen-bridge.c index 21d13e19c4..113c48d576 100644 --- a/mono/metadata/sgen-bridge.c +++ b/mono/metadata/sgen-bridge.c @@ -88,9 +88,10 @@ dyn_array_uninit (DynArray *da) static void dyn_array_ensure_capacity (DynArray *da, int capacity) { + int old_capacity = da->capacity; char *new_data; - if (capacity <= da->capacity) + if (capacity <= old_capacity) return; if (da->capacity == 0) @@ -100,7 +101,7 @@ dyn_array_ensure_capacity (DynArray *da, int capacity) new_data = mono_sgen_alloc_internal_dynamic (da->elem_size * da->capacity, INTERNAL_MEM_BRIDGE_DATA); memcpy (new_data, da->data, da->elem_size * da->size); - mono_sgen_free_internal_dynamic (da->data, da->elem_size * da->size, INTERNAL_MEM_BRIDGE_DATA); + mono_sgen_free_internal_dynamic (da->data, da->elem_size * old_capacity, INTERNAL_MEM_BRIDGE_DATA); da->data = new_data; } diff --git a/mono/metadata/sgen-gc.c b/mono/metadata/sgen-gc.c index eab8e227d8..f8d5cc3453 100644 --- a/mono/metadata/sgen-gc.c +++ b/mono/metadata/sgen-gc.c @@ -4,7 +4,8 @@ * Author: * Paolo Molaro (lupus@ximian.com) * - * Copyright 2005-2010 Novell, Inc (http://www.novell.com) + * Copyright 2005-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) * * Thread start/stop adapted from Boehm's GC: * Copyright (c) 1994 by Xerox Corporation. All rights reserved. @@ -5022,7 +5023,7 @@ restart_threads_until_none_in_managed_allocator (void) #if defined(__MACH__) && MONO_MACH_ARCH_SUPPORTED result = thread_resume (pthread_mach_thread_np (info->id)) == KERN_SUCCESS; #else - result = pthread_kill (info->id, restart_signal_num) == 0; + result = mono_sgen_pthread_kill (info, restart_signal_num) == 0; #endif if (result) { ++restart_count; @@ -5068,7 +5069,7 @@ restart_threads_until_none_in_managed_allocator (void) #if defined(__MACH__) && MONO_MACH_ARCH_SUPPORTED result = mono_sgen_suspend_thread (info); #else - result = pthread_kill (info->id, suspend_signal_num) == 0; + result = mono_sgen_pthread_kill (info, suspend_signal_num) == 0; #endif if (result) { ++restarted_count; @@ -5742,6 +5743,10 @@ gc_register_current_thread (void *addr) info->mach_port = mach_thread_self (); #endif +#if defined(PLATFORM_ANDROID) + info->android_tid = (gpointer) gettid (); +#endif + /* try to get it with attributes first */ #if defined(HAVE_PTHREAD_GETATTR_NP) && defined(HAVE_PTHREAD_ATTR_GETSTACK) { diff --git a/mono/metadata/sgen-gc.h b/mono/metadata/sgen-gc.h index bbc5ef5a1f..88ab4ba7cf 100644 --- a/mono/metadata/sgen-gc.h +++ b/mono/metadata/sgen-gc.h @@ -96,6 +96,10 @@ struct _SgenThreadInfo { thread_port_t mach_port; #endif +#if defined(PLATFORM_ANDROID) + void *android_tid; +#endif + unsigned int stop_count; /* to catch duplicate signals */ int signal; int skip; @@ -593,6 +597,7 @@ int mono_sgen_thread_handshake (int signum) MONO_INTERNAL; SgenThreadInfo* mono_sgen_thread_info_lookup (ARCH_THREAD_TYPE id) MONO_INTERNAL; SgenThreadInfo** mono_sgen_get_thread_table (void) MONO_INTERNAL; gboolean mono_sgen_suspend_thread (SgenThreadInfo *info) MONO_INTERNAL; +int mono_sgen_pthread_kill (SgenThreadInfo *info, int signum) MONO_INTERNAL; void mono_sgen_wait_for_suspend_ack (int count) MONO_INTERNAL; diff --git a/mono/metadata/sgen-os-posix.c b/mono/metadata/sgen-os-posix.c index e66bc45785..28cb38b350 100644 --- a/mono/metadata/sgen-os-posix.c +++ b/mono/metadata/sgen-os-posix.c @@ -36,7 +36,36 @@ #include "metadata/sgen-archdep.h" #include "metadata/object-internals.h" -#if !defined(__MACH__) && !MONO_MACH_ARCH_SUPPORTED +#if defined(__MACH__) +#include "utils/mach-support.h" +#endif + +#if defined(PLATFORM_ANDROID) +#include <errno.h> + +extern int tkill (pid_t tid, int signal); +#endif + +#if !(defined(__MACH__) && defined (MONO_MACH_ARCH_SUPPORTED)) + +int +mono_sgen_pthread_kill (SgenThreadInfo *info, int signum) +{ +#if defined(PLATFORM_ANDROID) + int ret; + int old_errno = errno; + + ret = tkill ((pid_t) info->android_tid, signum); + if (ret < 0) { + ret = errno; + errno = old_errno; + } + return ret; +#else + return pthread_kill (info->id, signum); +#endif +} + int mono_sgen_thread_handshake (int signum) { @@ -54,7 +83,7 @@ mono_sgen_thread_handshake (int signum) } /*if (signum == suspend_signal_num && info->stop_count == global_stop_count) continue;*/ - result = pthread_kill (info->id, signum); + result = mono_sgen_pthread_kill (info, signum); if (result == 0) { count++; } else { diff --git a/mono/metadata/threadpool.c b/mono/metadata/threadpool.c index 6265c1b073..81a73e186d 100644 --- a/mono/metadata/threadpool.c +++ b/mono/metadata/threadpool.c @@ -7,6 +7,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2010 Novell, Inc (http://www.novell.com) + * Copyright 2001 Xamarin Inc (http://www.xamarin.com) */ #include <config.h> @@ -17,6 +18,7 @@ #include <mono/metadata/threads-types.h> #include <mono/metadata/threadpool-internals.h> #include <mono/metadata/exception.h> +#include <mono/metadata/environment.h> #include <mono/metadata/mono-mlist.h> #include <mono/metadata/mono-perfcounters.h> #include <mono/metadata/socket-io.h> @@ -1431,7 +1433,8 @@ async_invoke_thread (gpointer data) unloaded = is_appdomainunloaded_exception (exc->vtable->domain, klass); if (!unloaded && klass != mono_defaults.threadabortexception_class) { mono_unhandled_exception (exc); - exit (255); + if (mono_environment_exitcode_get () == 1) + exit (255); } if (klass == mono_defaults.threadabortexception_class) mono_thread_internal_reset_abort (thread); @@ -1469,9 +1472,9 @@ async_invoke_thread (gpointer data) InterlockedIncrement (&tp->waiting); #if defined(__OpenBSD__) - while ((res = mono_sem_wait (&tp->new_job, TRUE)) == -1) {// && errno == EINTR) { + while (mono_cq_count (tp->queue) == 0 && (res = mono_sem_wait (&tp->new_job, TRUE)) == -1) {// && errno == EINTR) { #else - while ((res = mono_sem_timedwait (&tp->new_job, 2000, TRUE)) == -1) {// && errno == EINTR) { + while (mono_cq_count (tp->queue) == 0 && (res = mono_sem_timedwait (&tp->new_job, 2000, TRUE)) == -1) {// && errno == EINTR) { #endif if (mono_runtime_is_shutting_down ()) break; diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c index 4d94297dba..117433cef4 100644 --- a/mono/metadata/threads.c +++ b/mono/metadata/threads.c @@ -8,6 +8,7 @@ * * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com) * Copyright 2004-2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index b563af9412..cd6765f108 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,48 @@ +2011-08-18 Zoltan Varga <vargaz@gmail.com> + + Disable some failing LLVM passes. Should fix bxc #280. + +2011-08-17 Sebastien Pouliot <sebastien@xamarin.com> + + Provide an error message if an instance method is decorated with + [MonoPInvokeCallback]. Ease finding issues like bug #296 + +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + More updates + +2011-08-15 Jeffrey Stedfast <jeff@xamarin.com> + + Fixed a typo in zoltan's last commit + +2011-08-12 Zoltan Varga <vargaz@gmail.com> + + Escape characters in LLVM symbol names + +2011-08-14 Zoltan Varga <vargaz@gmail.com> + + Don't pass MONO_UNWIND_ACTUAL_METHOD to the stack walker in a + signal handler, its not signal safe. Fixes bxc #263. + +2011-08-10 Zoltan Varga <vargaz@gmail.com> + + Fix the newly added test_0_llvm_regress_171 (). + +2011-08-09 Zoltan Varga <vargaz@gmail.com> + + LLVM requires two PHI entries if a previous bblock branches to the + current bblock using a conditional branch whose two targets are + the same. Fixes #171. + +2011-08-09 Zoltan Varga <vargaz@gmail.com> + + Add support for reference instances of Interlocked.Exchange<T> to + full-aot, similarly to Interlocked.CompareExchange<T>. + 2011-08-03 Rodrigo Kumpera <kumpera@gmail.com> Fix padding of call instructions. diff --git a/mono/mini/Makefile.in b/mono/mini/Makefile.in index e2625ddffe..8936fe1782 100644 --- a/mono/mini/Makefile.in +++ b/mono/mini/Makefile.in @@ -1438,9 +1438,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/mini/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/mini/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/mini/Makefile + $(AUTOMAKE) --foreign mono/mini/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c index 6f6385479c..f28599ae73 100644 --- a/mono/mini/aot-compiler.c +++ b/mono/mini/aot-compiler.c @@ -6,6 +6,8 @@ * Zoltan Varga (vargaz@gmail.com) * * (C) 2002 Ximian, Inc. + * Copyright 2003-2011 Novell, Inc + * Copyright 2011 Xamarin Inc (http://www.xamarin.com) */ /* Remaining AOT-only work: @@ -185,6 +187,7 @@ typedef struct MonoAotCompile { MonoClass **typespec_classes; GString *llc_args; GString *as_args; + char *assembly_name_sym; gboolean thumb_mixed, need_no_dead_strip, need_pt_gnu_stack; } MonoAotCompile; @@ -2730,7 +2733,12 @@ add_wrappers (MonoAotCompile *acfg) MonoType *t; MonoClass *klass; - g_assert (method->flags & METHOD_ATTRIBUTE_STATIC); + /* this cannot be enforced by the C# compiler so we must give the user some warning before aborting */ + if (!(method->flags & METHOD_ATTRIBUTE_STATIC)) { + g_warning ("AOT restriction: Method '%s' must be static since it is decorated with [MonoPInvokeCallback]. See http://ios.xamarin.com/Documentation/Limitations#Reverse_Callbacks", + mono_method_full_name (method, TRUE)); + exit (1); + } g_assert (sig->param_count == 1); g_assert (sig->params [0]->type == MONO_TYPE_CLASS && !strcmp (mono_class_from_mono_type (sig->params [0])->name, "Type")); @@ -3226,20 +3234,20 @@ add_generic_instances (MonoAotCompile *acfg) } } - /* Same for CompareExchange<T> */ + /* Same for CompareExchange<T>/Exchange<T> */ { MonoGenericContext ctx; MonoType *args [16]; - MonoMethod *cas_method; + MonoMethod *m; MonoClass *interlocked_klass = mono_class_from_name (mono_defaults.corlib, "System.Threading", "Interlocked"); gpointer iter = NULL; - while ((cas_method = mono_class_get_methods (interlocked_klass, &iter))) { - if (!strcmp (cas_method->name, "CompareExchange") && cas_method->is_generic) { + while ((m = mono_class_get_methods (interlocked_klass, &iter))) { + if ((!strcmp (m->name, "CompareExchange") || !strcmp (m->name, "Exchange")) && m->is_generic) { memset (&ctx, 0, sizeof (ctx)); args [0] = &mono_defaults.object_class->byval_arg; ctx.method_inst = mono_metadata_get_generic_inst (1, args); - add_extra_method (acfg, mono_marshal_get_native_wrapper (mono_class_inflate_generic_method (cas_method, &ctx), TRUE, TRUE)); + add_extra_method (acfg, mono_marshal_get_native_wrapper (mono_class_inflate_generic_method (m, &ctx), TRUE, TRUE)); } } } @@ -5129,7 +5137,7 @@ mono_aot_get_method_name (MonoCompile *cfg) { if (llvm_acfg->aot_opts.static_link) /* Include the assembly name too to avoid duplicate symbol errors */ - return g_strdup_printf ("%s_%s", llvm_acfg->image->assembly->aname.name, get_debug_sym (cfg->orig_method, "", llvm_acfg->method_label_hash)); + return g_strdup_printf ("%s_%s", llvm_acfg->assembly_name_sym, get_debug_sym (cfg->orig_method, "", llvm_acfg->method_label_hash)); else return get_debug_sym (cfg->orig_method, "", llvm_acfg->method_label_hash); } @@ -5229,12 +5237,16 @@ emit_llvm_file (MonoAotCompile *acfg) * The following optimizations cannot be enabled: * - 'tailcallelim' * - 'jump-threading' changes our blockaddress references to int constants. + * - 'basiccg' fails because it contains: + * if (CS && !isa<IntrinsicInst>(II)) { + * and isa<IntrinsicInst> is false for invokes to intrinsics (iltests.exe). + * - 'prune-eh' and 'functionattrs' depend on 'basiccg'. * The opt list below was produced by taking the output of: * llvm-as < /dev/null | opt -O2 -disable-output -debug-pass=Arguments * then removing tailcallelim + the global opts, and adding a second gvn. */ opts = g_strdup ("-instcombine -simplifycfg"); - opts = g_strdup ("-simplifycfg -domtree -domfrontier -scalarrepl -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -domtree -domfrontier -scalarrepl -simplify-libcalls -instcombine -simplifycfg -instcombine -simplifycfg -reassociate -domtree -loops -loopsimplify -domfrontier -loopsimplify -lcssa -loop-rotate -licm -lcssa -loop-unswitch -instcombine -scalar-evolution -loopsimplify -lcssa -iv-users -indvars -loop-deletion -loopsimplify -lcssa -loop-unroll -instcombine -memdep -gvn -memdep -memcpyopt -sccp -instcombine -domtree -memdep -dse -adce -simplifycfg -preverify -domtree -verify"); + opts = g_strdup ("-simplifycfg -domtree -domfrontier -scalarrepl -instcombine -simplifycfg -domtree -domfrontier -scalarrepl -simplify-libcalls -instcombine -simplifycfg -instcombine -simplifycfg -reassociate -domtree -loops -loopsimplify -domfrontier -loopsimplify -lcssa -loop-rotate -licm -lcssa -loop-unswitch -instcombine -scalar-evolution -loopsimplify -lcssa -iv-users -indvars -loop-deletion -loopsimplify -lcssa -loop-unroll -instcombine -memdep -gvn -memdep -memcpyopt -sccp -instcombine -domtree -memdep -dse -adce -simplifycfg -preverify -domtree -verify"); #if 1 command = g_strdup_printf ("%sopt -f %s -o temp.opt.bc temp.bc", acfg->aot_opts.llvm_path, opts); printf ("Executing opt: %s\n", command); @@ -6842,6 +6854,7 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options) acfg->got_symbol_base = g_strdup_printf ("mono_aot_%s_got", acfg->image->assembly->aname.name); acfg->plt_symbol = g_strdup_printf ("%smono_aot_%s_plt", acfg->llvm_label_prefix, acfg->image->assembly->aname.name); + acfg->assembly_name_sym = g_strdup (acfg->image->assembly->aname.name); /* Get rid of characters which cannot occur in symbols */ for (p = acfg->got_symbol_base; *p; ++p) { @@ -6852,6 +6865,10 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options) if (!(isalnum (*p) || *p == '_')) *p = '_'; } + for (p = acfg->assembly_name_sym; *p; ++p) { + if (!(isalnum (*p) || *p == '_')) + *p = '_'; + } acfg->method_index = 1; diff --git a/mono/mini/aot-runtime.c b/mono/mini/aot-runtime.c index 8ab03b0da0..a3c5746a30 100644 --- a/mono/mini/aot-runtime.c +++ b/mono/mini/aot-runtime.c @@ -6,6 +6,8 @@ * Zoltan Varga (vargaz@gmail.com) * * (C) 2002 Ximian, Inc. + * Copyright 2003-2011 Novell, Inc. + * Copyright 2011 Xamarin, Inc. */ #include "config.h" @@ -2922,15 +2924,15 @@ mono_aot_get_method (MonoDomain *domain, MonoMethod *method) return code; } - /* Same for CompareExchange<T> */ - if (method_index == 0xffffff && method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE && method->klass->image == mono_defaults.corlib && !strcmp (method->klass->name_space, "System.Threading") && !strcmp (method->klass->name, "Interlocked") && !strcmp (method->name, "CompareExchange") && MONO_TYPE_IS_REFERENCE (mono_method_signature (method)->params [1])) { + /* Same for CompareExchange<T> and Exchange<T> */ + if (method_index == 0xffffff && method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE && method->klass->image == mono_defaults.corlib && !strcmp (method->klass->name_space, "System.Threading") && !strcmp (method->klass->name, "Interlocked") && (!strcmp (method->name, "CompareExchange") || !strcmp (method->name, "Exchange")) && MONO_TYPE_IS_REFERENCE (mono_method_signature (method)->params [1])) { MonoMethod *m; MonoGenericContext ctx; MonoType *args [16]; gpointer iter = NULL; while ((m = mono_class_get_methods (method->klass, &iter))) { - if (mono_method_signature (m)->generic_param_count && !strcmp (m->name, "CompareExchange")) + if (mono_method_signature (m)->generic_param_count && !strcmp (m->name, method->name)) break; } g_assert (m); diff --git a/mono/mini/cpu-arm.md b/mono/mini/cpu-arm.md index 0dd9bf8565..5a141ef06a 100644 --- a/mono/mini/cpu-arm.md +++ b/mono/mini/cpu-arm.md @@ -1,3 +1,5 @@ +# Copyright 2003-2011 Novell, Inc (http://www.novell.com) +# Copyright 2011 Xamarin, Inc (http://www.xamarin.com) # arm cpu description file # this file is read by genmdesc to pruduce a table with all the relevant information # about the cpu instructions that may be used by the regsiter allocator, the scheduler diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c index 7ecae9dcb5..197e0aef16 100644 --- a/mono/mini/debugger-agent.c +++ b/mono/mini/debugger-agent.c @@ -5,6 +5,7 @@ * Zoltan Varga (vargaz@gmail.com) * * Copyright 2009-2010 Novell, Inc. + * Copyright 2011 Xamarin Inc. */ #include <config.h> @@ -2064,7 +2065,12 @@ mono_debugger_agent_thread_interrupt (void *sigctx, MonoJitInfo *ji) data.last_frame_set = FALSE; if (sigctx) { mono_arch_sigctx_to_monoctx (sigctx, &ctx); - mono_walk_stack (get_last_frame, mono_domain_get (), &ctx, MONO_UNWIND_DEFAULT, tls->thread, mono_get_lmf (), &data); + /* + * Don't pass MONO_UNWIND_ACTUAL_METHOD, its not signal safe, and + * get_last_frame () doesn't need it, the last frame cannot be a ginst + * since we are not in a JITted method. + */ + mono_walk_stack (get_last_frame, mono_domain_get (), &ctx, MONO_UNWIND_NONE, tls->thread, mono_get_lmf (), &data); } if (data.last_frame_set) { memcpy (&tls->async_last_frame, &data.last_frame, sizeof (StackFrameInfo)); diff --git a/mono/mini/decompose.c b/mono/mini/decompose.c index f80c64a16c..72a4a99898 100644 --- a/mono/mini/decompose.c +++ b/mono/mini/decompose.c @@ -5,6 +5,7 @@ * Zoltan Varga (vargaz@gmail.com) * * (C) 2002 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "mini.h" diff --git a/mono/mini/dominators.c b/mono/mini/dominators.c index 6dbfa3e828..730fea1b1e 100644 --- a/mono/mini/dominators.c +++ b/mono/mini/dominators.c @@ -6,6 +6,7 @@ * Paolo Molaro (lupus@ximian.com) * * (C) 2003 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <string.h> #include <mono/metadata/debug-helpers.h> diff --git a/mono/mini/exceptions-amd64.c b/mono/mini/exceptions-amd64.c index 9c006daae4..3d6af85ba8 100644 --- a/mono/mini/exceptions-amd64.c +++ b/mono/mini/exceptions-amd64.c @@ -5,6 +5,7 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2001 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/iltests.il.in b/mono/mini/iltests.il.in index d9e9472f9d..3fc518c3f1 100644 --- a/mono/mini/iltests.il.in +++ b/mono/mini/iltests.il.in @@ -2654,4 +2654,24 @@ END: call int32 class Tests::regress_693905_inner(int32, int32) ret } + + .method public static + default int32 test_0_llvm_regress_171 () cil managed + { + .locals init ( + int32 i + ) + + call int32 Tests::return_1_noinline () + ldc.i4.1 + beq L1 + ldc.i4.1 + stloc.s 0 + call int32 Tests::return_1_noinline () + ldc.i4.0 + beq L1 + L1: + ldloc.s 0 + ret + } } diff --git a/mono/mini/jit-icalls.c b/mono/mini/jit-icalls.c index 578cc35c10..2807a4f1d6 100644 --- a/mono/mini/jit-icalls.c +++ b/mono/mini/jit-icalls.c @@ -6,6 +6,8 @@ * Paolo Molaro (lupus@ximian.com) * * (C) 2002 Ximian, Inc. + * Copyright 2003-2011 Novell Inc (http://www.novell.com) + * Copyright 2011 Xamarin Inc (http://www.xamarin.com) */ #include <config.h> #include <math.h> diff --git a/mono/mini/liveness.c b/mono/mini/liveness.c index 7ed981456f..36718a8495 100644 --- a/mono/mini/liveness.c +++ b/mono/mini/liveness.c @@ -5,6 +5,7 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2002 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "mini.h" diff --git a/mono/mini/local-propagation.c b/mono/mini/local-propagation.c index 54e46246b6..876eb80694 100644 --- a/mono/mini/local-propagation.c +++ b/mono/mini/local-propagation.c @@ -9,6 +9,7 @@ * Massimiliano Mantione (massi@ximian.com) * * (C) 2006 Novell, Inc. http://www.novell.com + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ diff --git a/mono/mini/method-to-ir.c b/mono/mini/method-to-ir.c index cec6fc61e6..5a6c5f5cf1 100644 --- a/mono/mini/method-to-ir.c +++ b/mono/mini/method-to-ir.c @@ -6,6 +6,8 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2002 Ximian, Inc. + * Copyright 2003-2010 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/mini-amd64.c b/mono/mini/mini-amd64.c index 2ae2794674..c7abb284bb 100644 --- a/mono/mini/mini-amd64.c +++ b/mono/mini/mini-amd64.c @@ -10,6 +10,8 @@ * Zoltan Varga (vargaz@gmail.com) * * (C) 2003 Ximian, Inc. + * Copyright 2003-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "mini.h" #include <string.h> diff --git a/mono/mini/mini-arm.c b/mono/mini/mini-arm.c index 0e51fefe1f..291e1dce4f 100644 --- a/mono/mini/mini-arm.c +++ b/mono/mini/mini-arm.c @@ -6,6 +6,8 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2003 Ximian, Inc. + * Copyright 2003-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "mini.h" #include <string.h> diff --git a/mono/mini/mini-gc.c b/mono/mini/mini-gc.c index ced5aefdc1..b7651ce5b2 100644 --- a/mono/mini/mini-gc.c +++ b/mono/mini/mini-gc.c @@ -5,6 +5,7 @@ * Zoltan Varga (vargaz@gmail.com) * * Copyright 2009 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include "config.h" diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c index f00e60167b..06da0a16f1 100644 --- a/mono/mini/mini-generic-sharing.c +++ b/mono/mini/mini-generic-sharing.c @@ -4,7 +4,8 @@ * Author: * Mark Probst (mark.probst@gmail.com) * - * (C) 2007 Novell, Inc. + * Copyright 2007-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/mini-llvm-cpp.cpp b/mono/mini/mini-llvm-cpp.cpp index 9843a521c6..12a383df4f 100644 --- a/mono/mini/mini-llvm-cpp.cpp +++ b/mono/mini/mini-llvm-cpp.cpp @@ -1,7 +1,8 @@ // // mini-llvm-cpp.cpp: C++ support classes for the mono LLVM integration // -// (C) 2009 Novell, Inc. +// (C) 2009-2011 Novell, Inc. +// Copyright 2011 Xamarin, Inc (http://www.xamarin.com) // // diff --git a/mono/mini/mini-llvm.c b/mono/mini/mini-llvm.c index dcd26a052c..c5d7079de6 100644 --- a/mono/mini/mini-llvm.c +++ b/mono/mini/mini-llvm.c @@ -1,7 +1,8 @@ /* * mini-llvm.c: llvm "Backend" for the mono JIT * - * (C) 2009 Novell, Inc. + * Copyright 2009-2011 Novell Inc (http://www.novell.com) + * Copyright 2011 Xamarin Inc (http://www.xamarin.com) */ #include "mini.h" @@ -2467,7 +2468,16 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb) cmp = LLVMBuildICmp (builder, cond_to_llvm_cond [rel], lhs, rhs, ""); if (MONO_IS_COND_BRANCH_OP (ins->next)) { - LLVMBuildCondBr (builder, cmp, get_bb (ctx, ins->next->inst_true_bb), get_bb (ctx, ins->next->inst_false_bb)); + if (ins->next->inst_true_bb == ins->next->inst_false_bb) { + /* + * If the target bb contains PHI instructions, LLVM requires + * two PHI entries for this bblock, while we only generate one. + * So convert this to an unconditional bblock. (bxc #171). + */ + LLVMBuildBr (builder, get_bb (ctx, ins->next->inst_true_bb)); + } else { + LLVMBuildCondBr (builder, cmp, get_bb (ctx, ins->next->inst_true_bb), get_bb (ctx, ins->next->inst_false_bb)); + } has_terminator = TRUE; } else if (MONO_IS_SETCC (ins->next)) { sprintf (dname_buf, "t%d", ins->next->dreg); diff --git a/mono/mini/mini-posix.c b/mono/mini/mini-posix.c index 879715e69e..c15b098b96 100644 --- a/mono/mini/mini-posix.c +++ b/mono/mini/mini-posix.c @@ -6,6 +6,7 @@ * * Copyright 2001-2003 Ximian, Inc. * Copyright 2003-2008 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) * * See LICENSE for licensing information. */ diff --git a/mono/mini/mini-trampolines.c b/mono/mini/mini-trampolines.c index ffbea5bec2..46a5fb0854 100644 --- a/mono/mini/mini-trampolines.c +++ b/mono/mini/mini-trampolines.c @@ -1,4 +1,8 @@ - +/* + * (C) 2003 Ximian, Inc. + * (C) 2003-2011 Novell, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) + */ #include <config.h> #include <glib.h> diff --git a/mono/mini/mini-x86.c b/mono/mini/mini-x86.c index 16afc193ec..02d859e7d2 100644 --- a/mono/mini/mini-x86.c +++ b/mono/mini/mini-x86.c @@ -6,7 +6,9 @@ * Dietmar Maurer (dietmar@ximian.com) * Patrik Torstensson * - * (C) 2003 Ximian, Inc. + * Copyright 2003 Ximian, Inc. + * Copyright 2003-2011 Novell Inc. + * Copyright 2011 Xamarin Inc. */ #include "mini.h" #include <string.h> diff --git a/mono/mini/mini.c b/mono/mini/mini.c index 0ba02b7530..13290bf961 100644 --- a/mono/mini/mini.c +++ b/mono/mini/mini.c @@ -7,6 +7,7 @@ * * Copyright 2002-2003 Ximian, Inc. * Copyright 2003-2010 Novell, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #define MONO_LLVM_IN_MINI 1 diff --git a/mono/mini/ssa.c b/mono/mini/ssa.c index 96a90ca65d..04de6745f2 100644 --- a/mono/mini/ssa.c +++ b/mono/mini/ssa.c @@ -5,6 +5,7 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2003 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> #include <string.h> diff --git a/mono/mini/trace.c b/mono/mini/trace.c index 6348a434fb..6e67ad8938 100644 --- a/mono/mini/trace.c +++ b/mono/mini/trace.c @@ -6,6 +6,7 @@ * Dietmar Maurer (dietmar@ximian.com) * * (C) 2002 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/tramp-amd64.c b/mono/mini/tramp-amd64.c index 39f2ba1c50..2f34ba3f4e 100644 --- a/mono/mini/tramp-amd64.c +++ b/mono/mini/tramp-amd64.c @@ -6,6 +6,7 @@ * Zoltan Varga (vargaz@gmail.com) * * (C) 2001 Ximian, Inc. + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) */ #include <config.h> diff --git a/mono/mini/version.h b/mono/mini/version.h index 8156d11411..5e38fb4ca8 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "mono-2-10/f12adef" +#define FULL_VERSION "mono-2-10/350fcbd" diff --git a/mono/monograph/Makefile.in b/mono/monograph/Makefile.in index adeedd693f..71c5700aa3 100644 --- a/mono/monograph/Makefile.in +++ b/mono/monograph/Makefile.in @@ -295,9 +295,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/monograph/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/monograph/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/monograph/Makefile + $(AUTOMAKE) --foreign mono/monograph/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/profiler/Makefile.in b/mono/profiler/Makefile.in index c17b21f714..1917aa5f95 100644 --- a/mono/profiler/Makefile.in +++ b/mono/profiler/Makefile.in @@ -374,9 +374,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/profiler/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/profiler/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/profiler/Makefile + $(AUTOMAKE) --foreign mono/profiler/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/ChangeLog b/mono/tests/ChangeLog index 6681f8c236..f77d69095b 100644 --- a/mono/tests/ChangeLog +++ b/mono/tests/ChangeLog @@ -1,3 +1,8 @@ +2011-08-08 Harry Wilkinson <hwilkinson@mdsol.com> + + Include mono/tests/delegate2.exe.config to the source tarball so + that the tests pass + 2011-03-10 Zoltan Varga <vargaz@gmail.com> Mark threads created when calling from native code into the diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index fb74d08de7..b7e661b112 100644 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -864,6 +864,8 @@ test-generic-sharing-managed: test-runner.exe $(GSHARED_TESTS) test-generic-sharing: @if test x$(M) != x; then $(MAKE) test-generic-sharing-managed; else $(MAKE) test-generic-sharing-normal; fi +EXTRA_DIST += delegate2.exe.config + EXTRA_DIST += async-exceptions.cs async-exceptions.exe : async-exceptions.cs $(MCS) -out:async-exceptions.exe $(srcdir)/async-exceptions.cs diff --git a/mono/tests/Makefile.in b/mono/tests/Makefile.in index e5198d7593..459f570330 100644 --- a/mono/tests/Makefile.in +++ b/mono/tests/Makefile.in @@ -813,8 +813,8 @@ EXTRA_DIST = test-driver $(TEST_CS_SRC_DIST) $(TEST_IL_SRC) \ bug-382986-lib.cs coreclr-security.cs generic-unboxing.2.il \ generic-boxing.2.il generic-unbox.2.cs generic-box.2.cs \ generic-delegate2.2.cs generic-delegate2-lib.2.il \ - async-exceptions.cs modules.cs modules-m1.cs bug-438454.cs \ - bug-438454.exe.stdout.expected + delegate2.exe.config async-exceptions.cs modules.cs \ + modules-m1.cs bug-438454.cs bug-438454.exe.stdout.expected # # Test that no symbols are missed in eglib-remap.h @@ -877,9 +877,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/Makefile + $(AUTOMAKE) --foreign mono/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/assemblyresolve/Makefile.in b/mono/tests/assemblyresolve/Makefile.in index f332da77dc..e0e6e85af3 100644 --- a/mono/tests/assemblyresolve/Makefile.in +++ b/mono/tests/assemblyresolve/Makefile.in @@ -262,9 +262,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/assemblyresolve/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/assemblyresolve/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/assemblyresolve/Makefile + $(AUTOMAKE) --foreign mono/tests/assemblyresolve/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/Makefile.in b/mono/tests/cas/Makefile.in index 5ecbfda685..beb0553185 100644 --- a/mono/tests/cas/Makefile.in +++ b/mono/tests/cas/Makefile.in @@ -303,9 +303,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/assembly/Makefile.in b/mono/tests/cas/assembly/Makefile.in index 58fc4936bf..16d005a349 100644 --- a/mono/tests/cas/assembly/Makefile.in +++ b/mono/tests/cas/assembly/Makefile.in @@ -269,9 +269,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/assembly/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/assembly/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/assembly/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/assembly/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/demand/Makefile.in b/mono/tests/cas/demand/Makefile.in index dc5d747b32..2e2f5dd9c4 100644 --- a/mono/tests/cas/demand/Makefile.in +++ b/mono/tests/cas/demand/Makefile.in @@ -273,9 +273,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/demand/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/demand/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/demand/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/demand/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/inheritance/Makefile.in b/mono/tests/cas/inheritance/Makefile.in index a84e809955..6249b232e8 100644 --- a/mono/tests/cas/inheritance/Makefile.in +++ b/mono/tests/cas/inheritance/Makefile.in @@ -276,9 +276,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/inheritance/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/inheritance/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/inheritance/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/inheritance/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/linkdemand/Makefile.in b/mono/tests/cas/linkdemand/Makefile.in index 3fb9829a5c..1f35af69dc 100644 --- a/mono/tests/cas/linkdemand/Makefile.in +++ b/mono/tests/cas/linkdemand/Makefile.in @@ -281,9 +281,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/linkdemand/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/linkdemand/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/linkdemand/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/linkdemand/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/cas/threads/Makefile.in b/mono/tests/cas/threads/Makefile.in index 93fcfb8952..74854cef19 100644 --- a/mono/tests/cas/threads/Makefile.in +++ b/mono/tests/cas/threads/Makefile.in @@ -276,9 +276,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/cas/threads/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/cas/threads/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/tests/cas/threads/Makefile + $(AUTOMAKE) --foreign mono/tests/cas/threads/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/tests/delegate2.exe.config b/mono/tests/delegate2.exe.config new file mode 100644 index 0000000000..b9680d226a --- /dev/null +++ b/mono/tests/delegate2.exe.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <runtime> + <legacyUnhandledExceptionPolicy enabled="1"/> + </runtime> +</configuration> diff --git a/mono/utils/ChangeLog b/mono/utils/ChangeLog index 9fde67d7ff..88e5254f47 100644 --- a/mono/utils/ChangeLog +++ b/mono/utils/ChangeLog @@ -1,3 +1,7 @@ +2011-08-17 Miguel de Icaza <miguel@gnome.org> + + updated copyrights + 2011-08-01 Alex <alexh@dragonflybsd.org> Add support for DragonFly and NetBSD to sigcontext. diff --git a/mono/utils/Makefile.in b/mono/utils/Makefile.in index 7917e0217f..93a627d812 100644 --- a/mono/utils/Makefile.in +++ b/mono/utils/Makefile.in @@ -419,9 +419,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/utils/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/utils/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu mono/utils/Makefile + $(AUTOMAKE) --foreign mono/utils/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/mono/utils/gc_wrapper.h b/mono/utils/gc_wrapper.h index 9d0044b72a..9b85e0c07e 100644 --- a/mono/utils/gc_wrapper.h +++ b/mono/utils/gc_wrapper.h @@ -1,3 +1,7 @@ +/* + * Copyright 2004-2011 Novell, Inc (http://www.novell.com) + * Copyright 2011 Xamarin, Inc (http://www.xamarin.com) + */ #ifndef __MONO_OS_GC_WRAPPER_H__ #define __MONO_OS_GC_WRAPPER_H__ diff --git a/msvc/Makefile.in b/msvc/Makefile.in index 5048d8a3dd..4517f40874 100644 --- a/msvc/Makefile.in +++ b/msvc/Makefile.in @@ -287,9 +287,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu msvc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign msvc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu msvc/Makefile + $(AUTOMAKE) --foreign msvc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/po/Makefile.in b/po/Makefile.in index 0f0fde6e10..e0e5683f7b 100644 --- a/po/Makefile.in +++ b/po/Makefile.in @@ -299,9 +299,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign po/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu po/Makefile + $(AUTOMAKE) --foreign po/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/samples/Makefile.in b/samples/Makefile.in index 6c5815112f..656d9f5e5e 100644 --- a/samples/Makefile.in +++ b/samples/Makefile.in @@ -258,9 +258,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu samples/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign samples/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu samples/Makefile + $(AUTOMAKE) --foreign samples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/scripts/Makefile.in b/scripts/Makefile.in index e3b57e2932..7383c92e09 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -444,9 +444,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu scripts/Makefile + $(AUTOMAKE) --foreign scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/support/Makefile.in b/support/Makefile.in index efdc008225..2f6966ee67 100644 --- a/support/Makefile.in +++ b/support/Makefile.in @@ -452,9 +452,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu support/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign support/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu support/Makefile + $(AUTOMAKE) --foreign support/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/tools/Makefile.in b/tools/Makefile.in index 708cd84efe..278ee513a8 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -299,9 +299,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tools/Makefile + $(AUTOMAKE) --foreign tools/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/tools/locale-builder/Makefile.in b/tools/locale-builder/Makefile.in index dcc18e3ad6..bf10b00b2a 100644 --- a/tools/locale-builder/Makefile.in +++ b/tools/locale-builder/Makefile.in @@ -397,9 +397,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/locale-builder/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/locale-builder/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tools/locale-builder/Makefile + $(AUTOMAKE) --foreign tools/locale-builder/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/tools/sgen/Makefile.in b/tools/sgen/Makefile.in index ab69a61b50..6b7686e689 100644 --- a/tools/sgen/Makefile.in +++ b/tools/sgen/Makefile.in @@ -286,9 +286,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/sgen/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/sgen/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tools/sgen/Makefile + $(AUTOMAKE) --foreign tools/sgen/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ |