From 67cc8417df58355c5a22f8fc6cecc6ee912d8733 Mon Sep 17 00:00:00 2001 From: Xamarin Public Jenkins Date: Thu, 28 Apr 2016 08:44:23 -0400 Subject: [PATCH] Imported Upstream version 4.4.0.142 Former-commit-id: 08ca4d6ded648b2ac2eb817c12d5723b52edbb16 --- configure.REMOVED.git-id | 2 +- configure.ac.REMOVED.git-id | 2 +- .../system/security/cryptography/utils.cs | 8 ++- .../Test/Mono.Unix/UnixSignalTest.cs | 4 ++ mcs/class/System.Net.Http/Makefile | 3 ++ .../System.Net.Http/HttpClient.android.cs | 38 +++++++++++++++ .../monodroid_System.Net.Http.dll.sources | 2 + .../XmlFormatWriterGenerator_static.cs | 12 +++-- .../DataContractSerializerTest.cs | 12 +++++ .../OSX509Certificates.cs | 25 +++------- .../X509Certificate2ImplMono.cs | 5 ++ .../X509CertificateImpl.cs | 5 ++ .../X509CertificateImplMono.cs | 7 ++- .../CspParametersTest.cs | 2 +- .../lib/monolite/System.dll.REMOVED.git-id | 2 +- .../lib/monolite/basic.exe.REMOVED.git-id | 2 +- .../lib/monolite/mscorlib.dll.REMOVED.git-id | 2 +- mcs/mcs/expression.cs.REMOVED.git-id | 2 +- mcs/tests/dtest-064.cs | 46 ++++++++++++++++++ mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id | 2 +- mono/metadata/method-builder.c | 23 +++++++-- mono/mini/Makefile.am | 2 +- mono/mini/Makefile.am.in | 2 +- mono/mini/Makefile.in.REMOVED.git-id | 2 +- mono/mini/branch-opts.c | 3 +- mono/mini/genmdesc.c | 1 + mono/mini/mini-exceptions.c | 2 +- mono/mini/version.h | 2 +- mono/sgen/sgen-archdep.h | 2 +- mono/sgen/sgen-gchandles.c | 2 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 2 +- po/mcs/pt_BR.gmo | Bin 73161 -> 73161 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- 39 files changed, 187 insertions(+), 47 deletions(-) create mode 100644 mcs/class/System.Net.Http/System.Net.Http/HttpClient.android.cs create mode 100644 mcs/class/System.Net.Http/monodroid_System.Net.Http.dll.sources create mode 100644 mcs/tests/dtest-064.cs diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index e52b6e18ef..abf25c0324 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -25ac5dd52e897440dac529dfcfe2034bdae89d53 \ No newline at end of file +da368cb9ffc9b4bfa0f5e04be9f4f6089f689736 \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index aabe5d878e..f4956e99d6 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -3decb1ccc1162ebbe9663424f20f2ace97e2921f \ No newline at end of file +fbb4acce7d31b7351f3c4b42e6f718441d9408c4 \ No newline at end of file diff --git a/external/referencesource/mscorlib/system/security/cryptography/utils.cs b/external/referencesource/mscorlib/system/security/cryptography/utils.cs index c16e2f3432..e6481dbf18 100644 --- a/external/referencesource/mscorlib/system/security/cryptography/utils.cs +++ b/external/referencesource/mscorlib/system/security/cryptography/utils.cs @@ -141,10 +141,16 @@ namespace System.Security.Cryptography static Utils() { } - +#if MONO + // The default provider value must remain '1' for Mono, otherwise we won't be able + // to locate keypairs that were serialized by Mono versions 4.0 and lower. + // (The ProviderType property in the CspParameters class affects serialization) + internal const int DefaultRsaProviderType = 1; +#else // Provider type to use by default for RSA operations. We want to use RSA-AES CSP // since it enables access to SHA-2 operations. All currently supported OSes support RSA-AES. internal const int DefaultRsaProviderType = Constants.PROV_RSA_AES; +#endif #if !MONO #if FEATURE_CRYPTO || FEATURE_LEGACYNETCFCRYPTO diff --git a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs index d621ad51d4..9abc27094c 100644 --- a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs +++ b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs @@ -424,6 +424,10 @@ namespace MonoTests.Mono.Unix { foreach (Thread t in threads) t.Join (); AssertCountSet (usignals); + // signal delivery might take some time, wait a bit before closing + // the UnixSignal so we can ignore it and not terminate the process + // when a SIGHUP/SIGTERM arrives afterwards + Thread.Sleep (1000); CloseSignals (usignals); } diff --git a/mcs/class/System.Net.Http/Makefile b/mcs/class/System.Net.Http/Makefile index aa3cdf921e..d7c5a7e745 100644 --- a/mcs/class/System.Net.Http/Makefile +++ b/mcs/class/System.Net.Http/Makefile @@ -6,6 +6,9 @@ LIBRARY = System.Net.Http.dll LIB_REFS = System.Core System LIB_MCS_FLAGS = $(EXTRA_LIB_MCS_FLAGS) +ifeq (monodroid,$(PROFILE)) +LIB_MCS_FLAGS += -d:XAMARIN_MODERN +endif TEST_MCS_FLAGS = -r:System.dll -r:System.Core.dll diff --git a/mcs/class/System.Net.Http/System.Net.Http/HttpClient.android.cs b/mcs/class/System.Net.Http/System.Net.Http/HttpClient.android.cs new file mode 100644 index 0000000000..f48b49cd10 --- /dev/null +++ b/mcs/class/System.Net.Http/System.Net.Http/HttpClient.android.cs @@ -0,0 +1,38 @@ +using System; +using System.Reflection; + +namespace System.Net.Http { + public partial class HttpClient { + + public HttpClient () + : this (GetDefaultHandler (), true) + { + } + + static HttpMessageHandler GetDefaultHandler () + { + Type type = Type.GetType("Android.Runtime.AndroidEnvironment, Mono.Android"); + if (type == null) + return GetFallback ("Invalid Mono.Android assembly? Cannot find Android.Runtime.AndroidEnvironment"); + + MethodInfo method = type.GetMethod ("GetHttpMessageHandler", BindingFlags.Static | BindingFlags.NonPublic); + if (method == null) + return GetFallback ("Your Xamarin.Android version does not support obtaining of the custom HttpClientHandler"); + + object ret = method.Invoke (null, null); + if (ret == null) + return GetFallback ("Xamarin.Android returned no custom HttpClientHandler"); + + var handler = ret as HttpMessageHandler; + if (handler == null) + return GetFallback ($"{ret?.GetType()} is not a valid HttpMessageHandler"); + return handler; + } + + static HttpMessageHandler GetFallback (string message) + { + Console.WriteLine (message + ". Defaulting to System.Net.Http.HttpClientHandler"); + return new HttpClientHandler (); + } + } +} diff --git a/mcs/class/System.Net.Http/monodroid_System.Net.Http.dll.sources b/mcs/class/System.Net.Http/monodroid_System.Net.Http.dll.sources new file mode 100644 index 0000000000..acaa6a3801 --- /dev/null +++ b/mcs/class/System.Net.Http/monodroid_System.Net.Http.dll.sources @@ -0,0 +1,2 @@ +#include System.Net.Http.dll.sources +System.Net.Http/HttpClient.android.cs diff --git a/mcs/class/System.Runtime.Serialization/ReferenceSources/XmlFormatWriterGenerator_static.cs b/mcs/class/System.Runtime.Serialization/ReferenceSources/XmlFormatWriterGenerator_static.cs index fdbcc77c5b..f0b6d8d669 100644 --- a/mcs/class/System.Runtime.Serialization/ReferenceSources/XmlFormatWriterGenerator_static.cs +++ b/mcs/class/System.Runtime.Serialization/ReferenceSources/XmlFormatWriterGenerator_static.cs @@ -507,11 +507,15 @@ namespace System.Runtime.Serialization } else { var typeHandleValue = Type.GetTypeHandle (memberValue); var isDeclaredType = typeHandleValue.Equals (CodeInterpreter.ConvertValue (memberValue, memberType, Globals.TypeOfObject)); - if (isNullableOfT) + if (isNullableOfT) { ctx.InternalSerialize (writer, memberValue, isDeclaredType, writeXsiType, DataContract.GetId (memberType.TypeHandle), memberType.TypeHandle); - else - ctx.InternalSerializeReference (writer, memberValue, isDeclaredType, writeXsiType, DataContract.GetId (memberType.TypeHandle), memberType.TypeHandle); - //InternalSerialize((isNullableOfT ? XmlFormatGeneratorStatics.InternalSerializeMethod : XmlFormatGeneratorStatics.InternalSerializeReferenceMethod), () => memberValue, memberType, writeXsiType); + } else if (memberType == Globals.TypeOfObject) { + var dataContract = DataContract.GetDataContract (memberValue.GetType()); + writer.WriteAttributeQualifiedName (Globals.XsiPrefix, DictionaryGlobals.XsiTypeLocalName, DictionaryGlobals.SchemaInstanceNamespace, dataContract.Name, dataContract.Namespace); + ctx.InternalSerializeReference (writer, memberValue, false, false, -1, typeHandleValue); + } else { + ctx.InternalSerializeReference (writer, memberValue, isDeclaredType, writeXsiType, DataContract.GetId (memberType.TypeHandle), memberType.TypeHandle); + } } } } diff --git a/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs b/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs index ada461fe2b..89c0bef1b5 100644 --- a/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs +++ b/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs @@ -122,5 +122,17 @@ namespace MonoTests.System.Runtime.Serialization Assert.IsTrue (s.Contains ("All")); } } + + // Bug #37116 + [Test] + public void KeyPairOfAny () + { + var dict = new Dictionary (); + dict.Add ("test", new List () { "test entry" }); + + var dcs = new DataContractSerializer (typeof(Dictionary)); + dcs.WriteObject (new MemoryStream (), dict); + // Should not throw exception. + } } } diff --git a/mcs/class/System/System.Security.Cryptography.X509Certificates/OSX509Certificates.cs b/mcs/class/System/System.Security.Cryptography.X509Certificates/OSX509Certificates.cs index 184e586471..00384f4590 100644 --- a/mcs/class/System/System.Security.Cryptography.X509Certificates/OSX509Certificates.cs +++ b/mcs/class/System/System.Security.Cryptography.X509Certificates/OSX509Certificates.cs @@ -101,16 +101,17 @@ namespace System.Security.Cryptography.X509Certificates { } } - static IntPtr GetCertificate (X509Certificate certificate, out IntPtr dataPtr) + static IntPtr GetCertificate (X509Certificate certificate) { - var handle = certificate.Handle; + var handle = certificate.Impl.GetNativeAppleCertificate (); if (handle != IntPtr.Zero) { - dataPtr = IntPtr.Zero; CFRetain (handle); return handle; } - dataPtr = MakeCFData (certificate.GetRawCertData ()); - return SecCertificateCreateWithData (IntPtr.Zero, dataPtr); + var dataPtr = MakeCFData (certificate.GetRawCertData ()); + handle = SecCertificateCreateWithData (IntPtr.Zero, dataPtr); + CFRelease (dataPtr); + return handle; } public static SecTrustResult TrustEvaluateSsl (XX509CertificateCollection certificates, XX509CertificateCollection anchors, string host) @@ -129,9 +130,7 @@ namespace System.Security.Cryptography.X509Certificates { { int certCount = certificates.Count; int anchorCount = anchors != null ? anchors.Count : 0; - IntPtr [] cfDataPtrs = new IntPtr [certCount]; IntPtr [] secCerts = new IntPtr [certCount]; - IntPtr [] cfDataAnchorPtrs = new IntPtr [anchorCount]; IntPtr [] secCertAnchors = new IntPtr [anchorCount]; IntPtr certArray = IntPtr.Zero; IntPtr anchorArray = IntPtr.Zero; @@ -142,13 +141,13 @@ namespace System.Security.Cryptography.X509Certificates { try { for (int i = 0; i < certCount; i++) { - secCerts [i] = GetCertificate (certificates [i], out cfDataPtrs [i]); + secCerts [i] = GetCertificate (certificates [i]); if (secCerts [i] == IntPtr.Zero) return SecTrustResult.Deny; } for (int i = 0; i < anchorCount; i++) { - secCertAnchors [i] = GetCertificate (anchors [i], out cfDataAnchorPtrs [i]); + secCertAnchors [i] = GetCertificate (anchors [i]); if (secCertAnchors [i] == IntPtr.Zero) return SecTrustResult.Deny; } @@ -170,14 +169,6 @@ namespace System.Security.Cryptography.X509Certificates { code = SecTrustEvaluate (sectrust, out result); return result; } finally { - for (int i = 0; i < certCount; i++) - if (cfDataPtrs [i] != IntPtr.Zero) - CFRelease (cfDataPtrs [i]); - - for (int i = 0; i < anchorCount; i++) - if (cfDataAnchorPtrs [i] != IntPtr.Zero) - CFRelease (cfDataAnchorPtrs [i]); - if (certArray != IntPtr.Zero) CFRelease (certArray); diff --git a/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2ImplMono.cs b/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2ImplMono.cs index 87fd8a16d2..bfb2696f97 100644 --- a/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2ImplMono.cs +++ b/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2ImplMono.cs @@ -72,6 +72,11 @@ namespace System.Security.Cryptography.X509Certificates get { return IntPtr.Zero; } } + public override IntPtr GetNativeAppleCertificate () + { + return IntPtr.Zero; + } + internal X509Certificate2ImplMono (MX.X509Certificate cert) { this._cert = cert; diff --git a/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImpl.cs b/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImpl.cs index 7178bedaa5..548bc5d93c 100644 --- a/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImpl.cs +++ b/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImpl.cs @@ -37,6 +37,11 @@ namespace System.Security.Cryptography.X509Certificates get; } + /* + * This is used in System.dll's OSX509Certificates.cs + */ + public abstract IntPtr GetNativeAppleCertificate (); + protected void ThrowIfContextInvalid () { if (!IsValid) diff --git a/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImplMono.cs b/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImplMono.cs index 056bf561ee..fa152e97f9 100644 --- a/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImplMono.cs +++ b/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509CertificateImplMono.cs @@ -34,7 +34,7 @@ using MX = Mono.Security.X509; namespace System.Security.Cryptography.X509Certificates { - class X509CertificateImplMono : X509CertificateImpl + sealed class X509CertificateImplMono : X509CertificateImpl { MX.X509Certificate x509; @@ -51,6 +51,11 @@ namespace System.Security.Cryptography.X509Certificates get { return IntPtr.Zero; } } + public override IntPtr GetNativeAppleCertificate () + { + return IntPtr.Zero; + } + public override X509CertificateImpl Clone () { ThrowIfContextInvalid (); diff --git a/mcs/class/corlib/Test/System.Security.Cryptography/CspParametersTest.cs b/mcs/class/corlib/Test/System.Security.Cryptography/CspParametersTest.cs index 11e8177431..6cdc052f4f 100644 --- a/mcs/class/corlib/Test/System.Security.Cryptography/CspParametersTest.cs +++ b/mcs/class/corlib/Test/System.Security.Cryptography/CspParametersTest.cs @@ -39,7 +39,7 @@ namespace MonoTests.System.Security.Cryptography { public void Ctor () { var cp = new CspParameters (); - Assert.AreEqual (24, cp.ProviderType); + Assert.AreEqual (1, cp.ProviderType); } } } diff --git a/mcs/class/lib/monolite/System.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.dll.REMOVED.git-id index 5c355f4d42..515ea3e5bb 100644 --- a/mcs/class/lib/monolite/System.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.dll.REMOVED.git-id @@ -1 +1 @@ -8e64e5a6758d73dbf3d8c6fb3eb48c076357b70d \ No newline at end of file +d75327e36d7b32dc9109603a62412b3e8aa159fe \ No newline at end of file diff --git a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id index 87b644f895..958cdbbba3 100644 --- a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id @@ -1 +1 @@ -5de7e54e585f6b49306081a2d825a268eae55a8b \ No newline at end of file +d59fb29c1b13df4116b62d402850b1a5280b854b \ No newline at end of file diff --git a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id index 86b5ab11f9..1da3473442 100644 --- a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -7b90f739b90808c54955991f2ee7ade80d218166 \ No newline at end of file +dd524703971ceb5b9e38a37927cbf400b8445a80 \ No newline at end of file diff --git a/mcs/mcs/expression.cs.REMOVED.git-id b/mcs/mcs/expression.cs.REMOVED.git-id index d47319e724..3d5f09ad74 100644 --- a/mcs/mcs/expression.cs.REMOVED.git-id +++ b/mcs/mcs/expression.cs.REMOVED.git-id @@ -1 +1 @@ -bfba44fbb8c656079254fc346737ea8a4af5fd3e \ No newline at end of file +f649c2b1ac18409b8acd361e63e55ffa77ad5bd3 \ No newline at end of file diff --git a/mcs/tests/dtest-064.cs b/mcs/tests/dtest-064.cs new file mode 100644 index 0000000000..da593f6a8c --- /dev/null +++ b/mcs/tests/dtest-064.cs @@ -0,0 +1,46 @@ +using System; + +public class A +{ + public A (Action action) + { + } +} + +public class B : A +{ + public B () + : base (() => { + dynamic d = 1; + Test (d); + }) + { + } + + static decimal Test (dynamic arg) + { + return 3m; + } +} + +public class B2 +{ + public Action a = () => { + dynamic d = 1; + Test (d); + }; + + static decimal Test (dynamic arg) + { + return 3m; + } +} + +class M +{ + static void Main () + { + new B (); + new B2 (); + } +} \ No newline at end of file diff --git a/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id b/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id index 1348c70c4c..2789a2109a 100644 --- a/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id +++ b/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id @@ -1 +1 @@ -de9fea39fc570d60a08eeeba6e5eef06352b9197 \ No newline at end of file +d7429bd8b329499d480f33072157e4c6b7cde1d2 \ No newline at end of file diff --git a/mono/metadata/method-builder.c b/mono/metadata/method-builder.c index 23f8d59909..d9c37a8a03 100644 --- a/mono/metadata/method-builder.c +++ b/mono/metadata/method-builder.c @@ -96,6 +96,12 @@ void mono_mb_free (MonoMethodBuilder *mb) { #ifndef DISABLE_JIT + GList *l; + + for (l = mb->locals_list; l; l = l->next) { + /* Allocated in mono_mb_add_local () */ + g_free (l->data); + } g_list_free (mb->locals_list); if (!mb->dynamic) { g_free (mb->method); @@ -148,7 +154,7 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in header->code = mb->code; for (i = 0, l = mb->locals_list; l; l = l->next, i++) { - header->locals [i] = mono_metadata_type_dup (NULL, (MonoType*)l->data); + header->locals [i] = (MonoType*)l->data; } } else #endif @@ -172,11 +178,15 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in memcpy ((char*)header->code, mb->code, mb->pos); for (i = 0, l = mb->locals_list; l; l = l->next, i++) { - header->locals [i] = mono_metadata_type_dup (NULL, (MonoType*)l->data); + header->locals [i] = (MonoType*)l->data; } #endif } + /* Free the locals list so mono_mb_free () doesn't free the types twice */ + g_list_free (mb->locals_list); + mb->locals_list = NULL; + method->signature = signature; if (!signature->hasthis) method->flags |= METHOD_ATTRIBUTE_STATIC; @@ -268,12 +278,19 @@ int mono_mb_add_local (MonoMethodBuilder *mb, MonoType *type) { int res; + MonoType *t; + + /* + * Have to make a copy early since type might be sig->ret, + * which is transient, see mono_metadata_signature_dup_internal_with_padding (). + */ + t = mono_metadata_type_dup (NULL, type); g_assert (mb != NULL); g_assert (type != NULL); res = mb->locals; - mb->locals_list = g_list_append (mb->locals_list, type); + mb->locals_list = g_list_append (mb->locals_list, t); mb->locals++; return res; diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am index 304498c38d..3c3f1a5ba4 100644 --- a/mono/mini/Makefile.am +++ b/mono/mini/Makefile.am @@ -801,7 +801,7 @@ EXTRA_DIST = TestDriver.cs \ Makefile.am.in version.h: Makefile - echo "#define FULL_VERSION \"Stable 4.4.0.122/a3fabf1\"" > version.h + echo "#define FULL_VERSION \"Stable 4.4.0.142/81f38a9\"" > version.h # Utility target for patching libtool to speed up linking patch-libtool: diff --git a/mono/mini/Makefile.am.in b/mono/mini/Makefile.am.in index 304498c38d..3c3f1a5ba4 100755 --- a/mono/mini/Makefile.am.in +++ b/mono/mini/Makefile.am.in @@ -801,7 +801,7 @@ EXTRA_DIST = TestDriver.cs \ Makefile.am.in version.h: Makefile - echo "#define FULL_VERSION \"Stable 4.4.0.122/a3fabf1\"" > version.h + echo "#define FULL_VERSION \"Stable 4.4.0.142/81f38a9\"" > version.h # Utility target for patching libtool to speed up linking patch-libtool: diff --git a/mono/mini/Makefile.in.REMOVED.git-id b/mono/mini/Makefile.in.REMOVED.git-id index 52846c50e4..0ba2700ff0 100644 --- a/mono/mini/Makefile.in.REMOVED.git-id +++ b/mono/mini/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -c30141f67c9a2e03366c40284ff6f85c7ec12f08 \ No newline at end of file +fe183791db460a9dd05074980db60cfb70ea20c4 \ No newline at end of file diff --git a/mono/mini/branch-opts.c b/mono/mini/branch-opts.c index aeb11a0ff0..8df4dcb3f2 100644 --- a/mono/mini/branch-opts.c +++ b/mono/mini/branch-opts.c @@ -248,7 +248,8 @@ mono_replace_ins (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins, MonoInst bb->has_array_access |= first_bb->has_array_access; /* Delete the links between the original bb and its successors */ - tmp_bblocks = bb->out_bb; + tmp_bblocks = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoBasicBlock*) * bb->out_count); + memcpy (tmp_bblocks, bb->out_bb, sizeof (MonoBasicBlock*) * bb->out_count); count = bb->out_count; for (i = 0; i < count; ++i) mono_unlink_bblock (cfg, bb, tmp_bblocks [i]); diff --git a/mono/mini/genmdesc.c b/mono/mini/genmdesc.c index b996f8f83b..2d4f8b4af3 100644 --- a/mono/mini/genmdesc.c +++ b/mono/mini/genmdesc.c @@ -195,6 +195,7 @@ load_file (const char *name) { if (is_template && !desc->name) g_error ("Template without name at line %d in %s\n", line, name); } + g_string_free (comment,TRUE); fclose (f); return 0; } diff --git a/mono/mini/mini-exceptions.c b/mono/mini/mini-exceptions.c index faa0672d26..8c1392bc2e 100644 --- a/mono/mini/mini-exceptions.c +++ b/mono/mini/mini-exceptions.c @@ -1163,7 +1163,7 @@ mini_jit_info_table_find_ext (MonoDomain *domain, char *addr, gboolean allow_tra MonoJitInfo* mini_jit_info_table_find (MonoDomain *domain, char *addr, MonoDomain **out_domain) { - return mini_jit_info_table_find_ext (domain, addr, TRUE, out_domain); + return mini_jit_info_table_find_ext (domain, addr, FALSE, out_domain); } /* diff --git a/mono/mini/version.h b/mono/mini/version.h index f2c677337c..189f55a84a 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "Stable 4.4.0.122/a3fabf1" +#define FULL_VERSION "Stable 4.4.0.142/81f38a9" diff --git a/mono/sgen/sgen-archdep.h b/mono/sgen/sgen-archdep.h index 5e349f8416..ac4280b788 100644 --- a/mono/sgen/sgen-archdep.h +++ b/mono/sgen/sgen-archdep.h @@ -89,7 +89,7 @@ /* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some architectures is 64k. */ -#if defined(TARGET_POWERPC64) +#if defined(TARGET_POWERPC) || defined(TARGET_POWERPC64) #define ARCH_MIN_MS_BLOCK_SIZE (64*1024) #define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 #endif diff --git a/mono/sgen/sgen-gchandles.c b/mono/sgen/sgen-gchandles.c index f4b352eac1..b38b0ac719 100644 --- a/mono/sgen/sgen-gchandles.c +++ b/mono/sgen/sgen-gchandles.c @@ -614,7 +614,7 @@ null_link_if (gpointer hidden, GCHandleType handle_type, int max_generation, gpo return hidden; if (closure->predicate (obj, closure->data)) - return NULL; + return MONO_GC_HANDLE_METADATA_POINTER (sgen_client_default_metadata (), GC_HANDLE_TYPE_IS_WEAK (handle_type)); return hidden; } diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index b36d5ea81d1573e53b807b644eeb3af412cba275..7af04ecae84ee81597231aa1bc4d3483a69c2782 100644 GIT binary patch delta 21 ccmbQIHBW296D|%T3k3rUDFm67pgQ^hHA09W(|;{X5v delta 21 ccmX?Ef3kjqt|Et_k%FO-m66$IQ^hHA09S#} diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 1b52ad51f9..c72d1d86aa 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -ed5117bf4b8ffa445f8a891a2e99925990c94717 \ No newline at end of file +e805c0c6637c940bbad481235085f5803f523af3 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index c78c5d9029..35f2a4520c 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: mono 4.4.0\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2016-04-12 12:26-0400\n" +"POT-Creation-Date: 2016-04-28 08:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index f306551e80035861b957e50df150ae840656b676..a5fda5af4070756f255302296f9ba11b1363d316 100644 GIT binary patch delta 23 fcmX@Po8{zgmJO2AIE*Y53@ogSj5jMzThR^xZ9xd4 delta 23 fcmX@Po8{zgmJO2AI1G&x42`Ue%r+}dThR^xY|;ps diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index fb5fc86da5..e971a85e0e 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -657c1675c390dbc3387b5670d3c9b168b2941302 \ No newline at end of file +b570606f4dc4d196eaca6f4988a275ebafa669fe \ No newline at end of file