diff --git a/bug-57918.patch b/bug-57918.patch deleted file mode 100644 index d683cef..0000000 --- a/bug-57918.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b2250d8ecf56f71ea4c2c7271ac138d1f0196136 Mon Sep 17 00:00:00 2001 -From: Katelyn Gadd -Date: Mon, 11 Sep 2017 17:26:04 -0700 -Subject: [PATCH] Fix bug 57918: Async Socket reads that need to perform - multiple underlying read operations fail to return a correct total # of bytes - read - ---- - mcs/class/System/System.Net.Sockets/Socket.cs | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mcs/class/System/System.Net.Sockets/Socket.cs b/mcs/class/System/System.Net.Sockets/Socket.cs -index d19756b6c300..3821602fbbda 100644 ---- a/mcs/class/System/System.Net.Sockets/Socket.cs -+++ b/mcs/class/System/System.Net.Sockets/Socket.cs -@@ -1902,7 +1902,7 @@ static void BeginSendCallback (SocketAsyncResult sockares, int sent_so_far) - sockares.Size -= total; - - if (sockares.socket.CleanedUp) { -- sockares.Complete (total); -+ sockares.Complete (sent_so_far); - return; - } - -@@ -1914,7 +1914,7 @@ static void BeginSendCallback (SocketAsyncResult sockares, int sent_so_far) - sockares.Total = sent_so_far; - } - -- sockares.Complete (total); -+ sockares.Complete (sent_so_far); - } - - [CLSCompliant (false)] diff --git a/bug-59608.patch b/bug-59608.patch deleted file mode 100644 index d4f1981..0000000 --- a/bug-59608.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -uprN mono-5.4.1.6.old/external/api-snapshot/profiles/net_4_x/PEAPI.cs mono-5.4.1.6/external/api-snapshot/profiles/net_4_x/PEAPI.cs ---- mono-5.4.1.6.old/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-11-08 18:52:46.000000000 +0300 -+++ mono-5.4.1.6/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-11-12 04:07:23.979579610 +0300 -@@ -473,6 +473,7 @@ namespace PEAPI - } - public enum ImplAttr - { -+ AggressiveInlining = 256, - ForwardRef = 16, - IL = 0, - InternalCall = 4096, -diff -uprN mono-5.4.1.6.old/mono/mini/iltests.il mono-5.4.1.6/mono/mini/iltests.il ---- mono-5.4.1.6.old/mono/mini/iltests.il 2017-11-08 18:51:09.000000000 +0300 -+++ mono-5.4.1.6/mono/mini/iltests.il 2017-11-12 04:07:23.979579610 +0300 -@@ -2897,6 +2897,52 @@ END: - ret - } - -+ .method private hidebysig static void fail_inline() cil managed -+ { -+ // Code size 9 (0x9) -+ .maxstack 8 -+ IL_0000: ldc.i4.s 16 -+ IL_0002: conv.u -+ IL_0003: ldc.i4.1 -+ IL_0004: mul.ovf.un -+ IL_0005: localloc -+ IL_0007: pop -+ IL_0008: ret -+ } -+ -+ .method private hidebysig static int32 -+ always_inline(int32 op) cil managed aggressiveinlining -+ { -+ // Code size 24 (0x18) -+ .maxstack 8 -+ IL_0000: ldarg.0 -+ IL_0001: brfalse.s IL_0009 -+ -+ IL_0003: ldarg.0 -+ IL_0004: ldc.i4.2 -+ IL_0005: beq.s IL_000b -+ -+ IL_0007: br.s IL_000d -+ -+ IL_0009: ldc.i4.0 -+ IL_000a: ret -+ -+ IL_000b: ldc.i4.3 -+ IL_000c: ret -+ -+ IL_000d: call void Tests::fail_inline() -+ IL_0012: newobj instance void [mscorlib]System.Exception::.ctor() -+ IL_0017: throw -+ } -+ -+ .method public hidebysig static int32 test_3_regress_59608() cil managed -+ { -+ .maxstack 8 -+ IL_0000: ldc.i4.2 -+ IL_0001: call int32 Tests::always_inline(int32) -+ IL_000c: ret -+ } -+ - .method public static bool llvm_regress_59436 () { - // Code size 41 (0x29) - .maxstack 3 -diff -uprN mono-5.4.1.6.old/mono/mini/method-to-ir.c mono-5.4.1.6/mono/mini/method-to-ir.c ---- mono-5.4.1.6.old/mono/mini/method-to-ir.c 2017-11-08 18:51:09.000000000 +0300 -+++ mono-5.4.1.6/mono/mini/method-to-ir.c 2017-11-12 04:07:23.983579610 +0300 -@@ -6156,9 +6156,7 @@ inline_method (MonoCompile *cfg, MonoMet - prev_args = cfg->args; - prev_arg_types = cfg->arg_types; - prev_inlined_method = cfg->inlined_method; -- cfg->inlined_method = cmethod; -- cfg->ret_var_set = FALSE; -- cfg->inline_depth ++; -+ prev_ret_var_set = cfg->ret_var_set; - prev_real_offset = cfg->real_offset; - prev_cbb_hash = cfg->cbb_hash; - prev_cil_offset_to_bb = cfg->cil_offset_to_bb; -@@ -6168,9 +6166,12 @@ inline_method (MonoCompile *cfg, MonoMet - prev_cbb = cfg->cbb; - prev_current_method = cfg->current_method; - prev_generic_context = cfg->generic_context; -- prev_ret_var_set = cfg->ret_var_set; - prev_disable_inline = cfg->disable_inline; - -+ cfg->inlined_method = cmethod; -+ cfg->ret_var_set = FALSE; -+ cfg->inline_depth ++; -+ - if (ip && *ip == CEE_CALLVIRT && !(cmethod->flags & METHOD_ATTRIBUTE_STATIC)) - virtual_ = TRUE; - diff --git a/fix-64bit-portability-issue.patch b/fix-64bit-portability-issue.patch new file mode 100644 index 0000000..c2f8dfd --- /dev/null +++ b/fix-64bit-portability-issue.patch @@ -0,0 +1,12 @@ +diff -uprN mono-5.8.0.108.old/mono/metadata/threads.c mono-5.8.0.108/mono/metadata/threads.c +--- mono-5.8.0.108.old/mono/metadata/threads.c 2018-01-19 18:09:55.000000000 +0300 ++++ mono-5.8.0.108/mono/metadata/threads.c 2018-02-03 01:53:45.151973092 +0300 +@@ -1863,7 +1863,7 @@ ves_icall_System_Threading_Thread_Join_i + + /* Wait for the thread to really exit */ + MonoNativeThreadId tid = thread_get_tid (thread); +- mono_thread_join (tid); ++ mono_thread_join ((gpointer)tid); + + return TRUE; + } diff --git a/fix-dbg-headers.patch b/fix-dbg-headers.patch index 982fc6f..56f70c8 100644 --- a/fix-dbg-headers.patch +++ b/fix-dbg-headers.patch @@ -1,17 +1,17 @@ -diff -uprN mono-5.2.0.215.old/Makefile.am mono-5.2.0.215/Makefile.am ---- mono-5.2.0.215.old/Makefile.am 2017-08-02 16:16:38.000000000 +0300 -+++ mono-5.2.0.215/Makefile.am 2017-08-19 00:46:37.755592739 +0300 -@@ -168,3 +168,6 @@ update-solution-files: - make update-csproj - make package-inputs - (cd msvc/scripts; make genproj.exe; mono genproj.exe) +diff -uprN mono-5.8.0.108.old/Makefile.am mono-5.8.0.108/Makefile.am +--- mono-5.8.0.108.old/Makefile.am 2018-01-19 18:09:50.000000000 +0300 ++++ mono-5.8.0.108/Makefile.am 2018-02-02 22:15:06.076545024 +0300 +@@ -149,3 +149,6 @@ update-solution-files: + + update-solution-files-with-tests: + make "GENPROJ_ARGS=2012 true true" update-solution-files + +confighfixdir = $(includedir)/mono-2.0 +dist_confighfix_DATA = config.h -diff -uprN mono-5.2.0.215.old/mono/metadata/Makefile.am mono-5.2.0.215/mono/metadata/Makefile.am ---- mono-5.2.0.215.old/mono/metadata/Makefile.am 2017-08-02 16:16:42.000000000 +0300 -+++ mono-5.2.0.215/mono/metadata/Makefile.am 2017-08-18 23:43:51.210384739 +0300 -@@ -331,6 +331,7 @@ libmonoruntimeinclude_HEADERS = \ +diff -uprN mono-5.8.0.108.old/mono/metadata/Makefile.am mono-5.8.0.108/mono/metadata/Makefile.am +--- mono-5.8.0.108.old/mono/metadata/Makefile.am 2018-01-19 18:09:55.000000000 +0300 ++++ mono-5.8.0.108/mono/metadata/Makefile.am 2018-02-02 22:16:54.531829963 +0300 +@@ -335,6 +335,7 @@ libmonoruntimeinclude_HEADERS = \ appdomain.h \ blob.h \ class.h \ @@ -19,10 +19,10 @@ diff -uprN mono-5.2.0.215.old/mono/metadata/Makefile.am mono-5.2.0.215/mono/meta debug-helpers.h \ debug-mono-symfile.h \ threads.h \ -diff -uprN mono-5.2.0.215.old/mono/utils/Makefile.am mono-5.2.0.215/mono/utils/Makefile.am ---- mono-5.2.0.215.old/mono/utils/Makefile.am 2017-08-02 16:16:42.000000000 +0300 -+++ mono-5.2.0.215/mono/utils/Makefile.am 2017-08-18 23:43:51.210384739 +0300 -@@ -262,6 +262,7 @@ libmonoutilsinclude_HEADERS = \ +diff -uprN mono-5.8.0.108.old/mono/utils/Makefile.am mono-5.8.0.108/mono/utils/Makefile.am +--- mono-5.8.0.108.old/mono/utils/Makefile.am 2018-01-19 18:09:56.000000000 +0300 ++++ mono-5.8.0.108/mono/utils/Makefile.am 2018-02-02 22:24:26.508882095 +0300 +@@ -268,6 +268,7 @@ libmonoutilsinclude_HEADERS = \ mono-error.h \ mono-publib.h \ mono-dl-fallback.h \ diff --git a/mcs-compatibility-fix.patch b/mcs-compatibility-fix.patch deleted file mode 100644 index 6d70ed3..0000000 --- a/mcs-compatibility-fix.patch +++ /dev/null @@ -1,320 +0,0 @@ -diff -uprN mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs ---- mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs 2017-10-17 21:13:18.835702962 +0300 -@@ -33,8 +33,9 @@ namespace Microsoft.CSharp.RuntimeBinder - Expr exprCur = expr; - while (exprCur != null) - { -- if (exprCur is ExprList list) -+ if (exprCur is ExprList) - { -+ var list = (ExprList)exprCur; - yield return list.OptionalElement; - exprCur = list.OptionalNextListNode; - } -@@ -61,12 +62,12 @@ namespace Microsoft.CSharp.RuntimeBinder - } - public static bool isNull(this Expr expr) - { -- return expr is ExprConstant constant && constant.IsOK && (expr.Type.fundType() == FUNDTYPE.FT_REF) && constant.Val.IsNullRef; -+ return expr is ExprConstant && ((ExprConstant)expr).IsOK && (expr.Type.fundType() == FUNDTYPE.FT_REF) && ((ExprConstant)expr).Val.IsNullRef; - } - - public static bool IsZero(this Expr expr) - { -- return expr is ExprConstant constant && constant.IsOK && constant.IsZero; -+ return expr is ExprConstant && ((ExprConstant)expr).IsOK && ((ExprConstant)expr).IsZero; - } - - private static Expr GetSeqVal(this Expr expr) -diff -uprN mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs ---- mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs 2017-10-17 20:53:01.339702962 +0300 -@@ -29,8 +29,9 @@ namespace Microsoft.CSharp.RuntimeBinder - { - Debug.Assert(expr != null); - -- if (expr is ExprCall pCall && pCall.MemberGroup.OptionalObject == null) -+ if (expr is ExprCall && ((ExprCall)expr).MemberGroup.OptionalObject == null) - { -+ var pCall = (ExprCall)expr; - MethodSymbol meth = pCall.MethWithInst.Meth(); - if (meth != null && meth.IsNullableConstructor()) - { -@@ -45,7 +46,8 @@ namespace Microsoft.CSharp.RuntimeBinder - - public static Expr StripNullableConstructor(Expr pExpr) - { -- while (IsNullableConstructor(pExpr, out ExprCall call)) -+ ExprCall call; -+ while (IsNullableConstructor(pExpr, out call)) - { - pExpr = call.OptionalArguments; - Debug.Assert(pExpr != null && !(pExpr is ExprList)); -@@ -60,7 +62,8 @@ namespace Microsoft.CSharp.RuntimeBinder - Debug.Assert(exprSrc != null && exprSrc.Type.IsNullableType()); - - // For new T?(x), the answer is x. -- if (IsNullableConstructor(exprSrc, out ExprCall call)) -+ ExprCall call; -+ if (IsNullableConstructor(exprSrc, out call)) - { - var args = call.OptionalArguments; - Debug.Assert(args != null && !(args is ExprList)); -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs mono-5.4.0.201/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs 2017-10-17 17:12:55.639702962 +0300 -@@ -352,7 +352,7 @@ namespace System.Collections.Generic - throw new PlatformNotSupportedException(); - } - -- protected override void OnDeserialization(Object sender) => throw new PlatformNotSupportedException(); -+ protected override void OnDeserialization(Object sender) { throw new PlatformNotSupportedException(); } - } - } - } -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs 2017-10-17 19:28:46.291702962 +0300 -@@ -65,7 +65,8 @@ namespace System.Dynamic.Utils - internal static ParameterInfo[] GetParametersCached(this MethodBase method) - { - CacheDict pic = s_paramInfoCache; -- if (!pic.TryGetValue(method, out ParameterInfo[] pis)) -+ ParameterInfo[] pis; -+ if (!pic.TryGetValue(method, out pis)) - { - pis = method.GetParameters(); - -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs 2017-10-17 19:42:26.615702962 +0300 -@@ -952,8 +952,9 @@ namespace System.Linq.Expressions.Compil - private void EmitMemberAssignment(MemberAssignment binding, Type objectType) - { - EmitExpression(binding.Expression); -- if (binding.Member is FieldInfo fi) -+ if (binding.Member is FieldInfo) - { -+ var fi = (FieldInfo)binding.Member; - _ilg.Emit(OpCodes.Stfld, fi); - } - else -@@ -1097,7 +1098,7 @@ namespace System.Linq.Expressions.Compil - private static Type GetMemberType(MemberInfo member) - { - Debug.Assert(member is FieldInfo || member is PropertyInfo); -- return member is FieldInfo fi ? fi.FieldType : (member as PropertyInfo).PropertyType; -+ return member is FieldInfo ? ((FieldInfo)member).FieldType : (member as PropertyInfo).PropertyType; - } - - #endregion -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs 2017-10-17 19:35:40.931702962 +0300 -@@ -93,24 +93,24 @@ namespace System.Linq.Expressions - - // Null paramName as there are two paths here with different parameter names at the API - TypeUtils.ValidateType(decType, null); -- switch (member) -- { -- case PropertyInfo pi: -- if (!pi.CanWrite) -- { -- throw Error.PropertyDoesNotHaveSetter(pi, nameof(member)); -- } -- -- memberType = pi.PropertyType; -- break; -- -- case FieldInfo fi: -- memberType = fi.FieldType; -- break; -- -- default: -- throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member)); -- } -+ if (member is PropertyInfo) -+ { -+ var pi = (PropertyInfo)member; -+ if (!pi.CanWrite) -+ { -+ throw Error.PropertyDoesNotHaveSetter(pi, nameof(member)); -+ } -+ memberType = pi.PropertyType; -+ } -+ else if (member is FieldInfo) -+ { -+ var fi = (FieldInfo)member; -+ memberType = fi.FieldType; -+ } -+ else -+ { -+ throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member)); -+ } - } - } - } -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs 2017-10-17 19:36:39.243702962 +0300 -@@ -61,6 +61,6 @@ namespace System.Linq.Expressions - return ExpressionStringBuilder.MemberBindingToString(this); - } - -- internal virtual void ValidateAsDefinedHere(int index) => throw Error.UnknownBindingType(index); -+ internal virtual void ValidateAsDefinedHere(int index) { throw Error.UnknownBindingType(index); } - } - } -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs 2017-10-04 18:31:23.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs 2017-10-17 19:39:08.035702962 +0300 -@@ -127,24 +127,24 @@ namespace System.Linq.Expressions - - // Null paramName as there are several paths here with different parameter names at the API - TypeUtils.ValidateType(decType, null, allowByRef: true, allowPointer: true); -- switch (member) -- { -- case PropertyInfo pi: -- if (!pi.CanRead) -- { -- throw Error.PropertyDoesNotHaveGetter(pi, nameof(member)); -- } -- -- memberType = pi.PropertyType; -- break; -- -- case FieldInfo fi: -- memberType = fi.FieldType; -- break; -- -- default: -- throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member)); -- } -+ if (member is PropertyInfo) -+ { -+ var pi = (PropertyInfo)member; -+ if (!pi.CanRead) -+ { -+ throw Error.PropertyDoesNotHaveGetter(pi, nameof(member)); -+ } -+ memberType = pi.PropertyType; -+ } -+ else if (member is FieldInfo) -+ { -+ var fi = (FieldInfo)member; -+ memberType = fi.FieldType; -+ } -+ else -+ { -+ throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member)); -+ } - } - - private static void ValidateMemberInitArgs(Type type, ReadOnlyCollection bindings) -diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs mono-5.4.0.201/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs ---- mono-5.4.0.201.old/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs 2017-10-04 18:31:24.000000000 +0300 -+++ mono-5.4.0.201/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs 2017-10-17 17:17:31.687702962 +0300 -@@ -94,8 +94,9 @@ namespace System.Net.WebSockets - if (!(user is WindowsPrincipal)) - { - // AuthenticationSchemes.Basic. -- if (user.Identity is HttpListenerBasicIdentity basicIdentity) -+ if (user.Identity is HttpListenerBasicIdentity) - { -+ var basicIdentity=(HttpListenerBasicIdentity)user.Identity; - return new GenericPrincipal(new HttpListenerBasicIdentity(basicIdentity.Name, basicIdentity.Password), null); - } - } -diff -uprN mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs mono-5.4.0.201/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs ---- mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs 2017-10-04 18:30:40.000000000 +0300 -+++ mono-5.4.0.201/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs 2017-10-17 19:11:21.963702962 +0300 -@@ -316,7 +316,7 @@ namespace Mono.Net.Security - { - Debug ("ProcessRead - read user: {0} {1}", this, status); - -- var (ret, wantMore) = Parent.ProcessRead (UserBuffer); -+ int ret; bool wantMore; Parent.ProcessRead (UserBuffer, out ret, out wantMore); - - Debug ("ProcessRead - read user done: {0} - {1} {2}", this, ret, wantMore); - -@@ -355,7 +355,7 @@ namespace Mono.Net.Security - return AsyncOperationStatus.Complete; - } - -- var (ret, wantMore) = Parent.ProcessWrite (UserBuffer); -+ int ret; bool wantMore; Parent.ProcessWrite(UserBuffer, out ret, out wantMore); - - Debug ("ProcessWrite - write user done: {0} - {1} {2}", this, ret, wantMore); - -diff -uprN mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs mono-5.4.0.201/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs ---- mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs 2017-10-04 18:30:40.000000000 +0300 -+++ mono-5.4.0.201/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs 2017-10-17 19:11:27.267702962 +0300 -@@ -403,7 +403,7 @@ namespace Mono.Net.Security - asyncReadRequest != null ? "async" : "", - readBuffer != null ? readBuffer.ToString () : ""); - var asyncRequest = asyncHandshakeRequest ?? asyncReadRequest; -- var (ret, wantMore) = InternalRead (asyncRequest, readBuffer, buffer, offset, size); -+ int ret; bool wantMore; InternalRead (asyncRequest, readBuffer, buffer, offset, size, out ret, out wantMore); - outWantMore = wantMore; - return ret; - } catch (Exception ex) { -@@ -414,7 +414,7 @@ namespace Mono.Net.Security - } - } - -- (int, bool) InternalRead (AsyncProtocolRequest asyncRequest, BufferOffsetSize internalBuffer, byte[] buffer, int offset, int size) -+ void InternalRead (AsyncProtocolRequest asyncRequest, BufferOffsetSize internalBuffer, byte[] buffer, int offset, int size, out int _ret, out bool _wantMore) - { - if (asyncRequest == null) - throw new InvalidOperationException (); -@@ -436,10 +436,10 @@ namespace Mono.Net.Security - Debug ("InternalRead #1: {0} {1} {2}", internalBuffer.Offset, internalBuffer.TotalBytes, size); - internalBuffer.Offset = internalBuffer.Size = 0; - asyncRequest.RequestRead (size); -- return (0, true); -+ _ret = 0; _wantMore = true; return; - } - -- /* -+ /*Сабж. И чтобы гонка по кольцевым трассам. В третьи-четвёртые NFS наигрался, хочется новых трасс при схожем геймплее. - * The second time we're called, the native buffer will contain the exact amount of data that the - * previous call requested from us, so we should be able to return it all here. However, just in - * case that Apple's native function changed its mind, we can also return less. -@@ -451,7 +451,7 @@ namespace Mono.Net.Security - Buffer.BlockCopy (internalBuffer.Buffer, internalBuffer.Offset, buffer, offset, len); - internalBuffer.Offset += len; - internalBuffer.Size -= len; -- return (len, !internalBuffer.Complete && len < size); -+ _ret = len; _wantMore = !internalBuffer.Complete && len < size; return; - } - - /* -@@ -620,21 +620,21 @@ namespace Mono.Net.Security - } - } - -- internal (int, bool) ProcessRead (BufferOffsetSize userBuffer) -+ internal void ProcessRead (BufferOffsetSize userBuffer, out int _ret, out bool _wantMore) - { - lock (ioLock) { - // This operates on the internal buffer and will never block. -- var ret = xobileTlsContext.Read (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out bool wantMore); -- return (ret, wantMore); -+ _ret = xobileTlsContext.Read (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out _wantMore); -+ return; - } - } - -- internal (int, bool) ProcessWrite (BufferOffsetSize userBuffer) -+ internal void ProcessWrite (BufferOffsetSize userBuffer, out int _ret, out bool _wantMore) - { - lock (ioLock) { - // This operates on the internal buffer and will never block. -- var ret = xobileTlsContext.Write (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out bool wantMore); -- return (ret, wantMore); -+ _ret = xobileTlsContext.Write (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out _wantMore); -+ return; - } - } - diff --git a/mono-5.4.1.7.tar.bz2 b/mono-5.4.1.7.tar.bz2 deleted file mode 100644 index 3731889..0000000 --- a/mono-5.4.1.7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:543d9ec2ccebad9bb8425b22e10271f13d9512487c0e1578eeccdb1b8dc6a055 -size 204987567 diff --git a/mono-5.8.0.108.tar.bz2 b/mono-5.8.0.108.tar.bz2 new file mode 100644 index 0000000..14be473 --- /dev/null +++ b/mono-5.8.0.108.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecd7c55c2f62caa65fb360ace74a45ee44bbe2de046566d90594ba66c082f39c +size 204090092 diff --git a/mono-core.changes b/mono-core.changes index 312b659..a7363c9 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -1,11 +1,142 @@ +------------------------------------------------------------------- +Sat Feb 03 00:00:00 UTC 2018 - fwdsbs.to.11df@xoxy.net + +- Update to version 5.8.0.108 (5.8.0 Stable) +- Minor packaging updates +- Remove patch: bug-57918.patch +- Remove patch: bug-59608.patch +- Remove patch: mcs-compatibility-fix.patch +- Add fix-64bit-portability-issue.patch: + * Fix build error: E: mono-core 64bit-portability-issue threads.c:1866 +- New features and changes: + * WebAssembly: it should be possible to build both the runtime and class libraries targeting WebAssembly + * Profiler: added a new "quiet" mode; added Mono.Profiler.Log.dll, which provides an API to the profiler + * Verifier: the runtime verifier now supports C# 7.0 byref returns + * Modes for the SGen GC: sgen garbage collector now has support for so called "modes", check out the mode parameter documentation for the MONO_GC_PARAMS environment variable in the man page + * Other changes: improved compatibily with alternative languages that depend on implicit widening of locals + * Class Libraries: more classes was replaced by CoreFX codebase + * MCS changes: mcs now has better support for C# 7 syntax + * csi: You are now able to use Roslyn’s csi (C# interactive) REPL tool from the command line + * Roslyn: roslyn was updated to the 2.3.2 release + * ilasm: ilasm gained support for the AggressiveInlining keyword +- Bugfixes: + * bxc#4786 - After failed call to SqlConnection.Open (due to invalid password), subsequent invalid password attempts result in wrong exception + * bxc#5798 - Thread abort can lead to locks not being released + * bxc#5804 - Thread.ResetAbort can prevent appdomain unloading + * bxc#6339 - Headers not being populated in SoapExtension + * bxc#10074 - Error while updating status of command: MonoDevelop.Ide.Commands.ViewCommands.LayoutList + * bxc#11696 - Missing MethodImpl has a duplicate + * bxc#12157 - Missing: Init state for this differs depending on path + * bxc#17325 - RealProxy returns MarshalByRefObject for an Interface instead of the real interface type + * bxc#25755 - HttpClient.Timeout does not throw ArgumentOutOfRangeException when setting Timeout property to 0 + * bxc#31507 - ObjectDisposedException when canceling postAsync + * bxc#36053 - Broken enum values conversion + * bxc#36634 - IpcChannelTest.Bug609381 hangs on Linux + * bxc#40556 - Output pad no longer displays unicode characters + * bxc#41279 - Wrong syntax used for nested types in MethodAccessException (and similar) + * bxc#43172 - Failure when alerting threads waiting on a socket that closes + * bxc#43563 - Crash when struct Foo contains static field of type Foo[][] + * bxc#44255 - Inconsistent results in the serialization of TimeZoneInfo. + * bxc#44266 - Unable to change variable values whilst debugging + * bxc#46683 - Recurring hang in System.Xaml on CI + * bxc#52157 - SocketTest.ConnectedProperty test fails in FullAOT Linux runs + * bxc#52621 - Typo in exception message in PKCS12.cs + * bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using “Bundle assemblies into native code” even though they are now successfully mkbundled + * bxc#55697 - .NET 2.0 style web services fail to build under msbuild in Release but work with xbuild + * bxc#56111 - Hitting assertion after enabling AOT+LLVM on x86 devices in tramp-x86.c:124 + * bxc#56242 - TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD throws NRE on Android in Release mode + * bxc#56452 - Problem Stack too big + * bxc#56653 - Zygote crashes + * bxc#56684 - (mono-2.0-sgen.dll) in mono.exe: 0xC0000005: Access violation reading location 0x04FA3D9A. + * bxc#56727 - Runtime crashes when disposing DeflateStream + * bxc#56814 - Xamarin.Mac.dll Memory Leak starting with 3.2.0.175 Release + * bxc#57002 - New bockbuild package is missing .dSYM directories + * bxc#57069 - WaitHandle.SignalAndWait is broke + * bxc#57222 - System.Reflection.AmbiguousMatchException for two fields with same name but different types + * bxc#57232 - Compiler error when using ternary operator and no whitespace + * bxc#57476 - AOT fails with large StructLayout size on Debug+ARMv7 + * bxc#57488 - Debugger crashes when inspecting variable in a unit test + * bxc#57496 - [Slovenian CultureInfo + others] .Parse throws exception when parsing negative values + * bxc#57505 - Missing error CS0165 in presence of commented line + * bxc#57528 - [THIS WEEK] Nested streams using SslStream cause ObjectDisposedException when disposed + * bxc#57629 - [io-layer] File.Delete () throws System.UnauthorizedAccessException on non-existing files on a read-only path + * bxc#57691 - InternalsVisibleTo doesn’t work with 2048-bit SNK files + * bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions + * bxc#57771 - F#.NET Core 2.0 projects do not compile + * bxc#57796 - Compiler Crash instead of CS1621 + * bxc#57850 - Mono assertion when ResolveEventHandler returns a reflection-only assembly + * bxc#57851 - Assertion if using ResolveEventHandler to find custom attributes + * bxc#57887 - Console.Error.WriteLine in System.Net.NetworkInformation + * bxc#57918 - System.Net.Sockets.EndSend returns incorrect value + * bxc#57930 - Building netstandard 2.0 project throws DllNotFoundException: hostfxr during msbuild + * bxc#57936 - Race conditions of mempool.c + * bxc#57959 - SIGSEGV in roslyn with corrupted stack + * bxc#58100 - mono_w32socket_convert_error: no translation into winsock error for (6) “Device not configured” + * bxc#58114 - [llvm] csc (Rolsyn) produce fault clauses that the llvm backend does not support + * bxc#58168 - pedump incorrectly reports mscorlib as invalid + * bxc#58291 - Mono.CSharp Evaluator does not compile enums and throws an exception + * bxc#58317 - Leaking threads: SGen worker and Finalizer + * bxc#58344 - SIMD crash using System.Numerics.Vector + * bxc#58361 - EnumBuilder can no longer be used to generate IL code + * bxc#58379 - Mono jit gives different results that .net for simple il + * bxc#58411 - System.Security.Cryptography.CryptographicException: Store root doesn’t exist + * bxc#58421 - sre-save.c asserts in fixup_method () if TypeBuilder token is used across assemblies + * bxc#58423 - Race condition of metadata.c (mono_metadata_get_canonical_generic_inst) + * bxc#58454 - Cannot resolve method Subscription`1 Subscribe[TSelection](System.Func`2[TState,TSelection], System.Action`2[TSelection,TState]) because the declaring type of the method handle FSI_0002+Store`1[TState] is generic. Explicitly provide the declaring type to + * bxc#58612 - When 2 breakpoints are hit at “same time” 2nd thread frames count==0 + * bxc#58621 - CS1703: An assembly `gactestlib’ with the same identity has already been imported. Consider removing one of the references + * bxc#58637 - Heap overflow when using GetAssemblyName + * bxc#58738 - System.IO.MonoIO.Read - Native Crash when device file is gone + * bxc#58770 - * Assertion at ..\mono\utils\mono-threads.c:707, condition `info’ not met + * bxc#58782 - Exception stack traces are deleted when reaching the native-to-managed wrapper in a reverse invoke + * bxc#58793 - Fix pedump to use normal runtime init sequence + * bxc#58809 - Return result of Type.IsAssignableFrom with the generic parameters differs from MS.NET one + * bxc#58829 - Application Output Window being flooded with “[Mono] worker parking, [Mono] worker unparking” messages when debugging agasint Android Emulator. + * bxc#58877 - MonoTests.System.Threading.Tasks.TaskTests.Delay_Simple fails randomly after upgrade to Xcode 8.3 + * bxc#58901 - Breaking ABI change on 32 bits with xcode 8.3 or newer + * bxc#58911 - performance degradation with linq expressions + * bxc#58965 - csi fails with “type Object is defined in an assembly that is not referenced” + * bxc#59039 - bug-18026.exe test times out on armel/armhf + * bxc#59154 - runtime can’t load secondary-dependent library from newly unpacked temp directory + * bxc#59180 - verifier does not handle TYPEDBYREF properties + * bxc#59235 - [mono-2017-06] android.runtime.JavaProxyThrowable: System.ObjectDisposedException: Cannot access a disposed object. + * bxc#59239 - [mono2017-06]FileTest.SymLinkLoop failed on tvOS device + * bxc#59281 - System.Threading.AbandonedMutexException: The wait completed due to an abandoned mutex. + * bxc#59334 - Expression: Can’t catch non-exception objects (mono wraps them with RuntimeWrappedException) + * bxc#59364 - Assertion at dynamic-image.c:209, condition `prev == MONO_HANDLE_RAW (obj)’ not met + * bxc#59430 - api-diff not outputing out params correctly + * bxc#59436 - MT3001 error + * bxc#59664 - Type.GetType(“”, true) throws ArgumentException on Mono but TypeLoadException on .NET + * bxc#59824 - Casting an array of enums is inconsistent with .NET Framework behavior + * bxc#59832 - [iOS]MT3001 error: Could not AOT the assembly error while building iOS/mobile samples + * bxc#59909 - WebInvokeAttributeTest.RejectTwoParametersWhenNotWrapped() fails on Android + * bxc#59916 - get_current_locale_name fails under the load with String conversion error: Illegal byte sequence encounted in the input + * bxc#59953 - [llvm][bitcode] test_0_float_return_spill failed: got 1, expected 0 + * bxc#60233 - Assertion in dynamic-image.c after 792b5367cd3a6ffa1a192c4d2d7ace3509cbb646 + * bxc#60238 - Mono assertion hit when using csharp repl + * bxc#60245 - FieldInfo.GetValue fails on ContextBoundObject + * bxc#60317 - Stuck WebRequest + * bxc#60340 - Csc msbuild task fails to find csc.exe + * bxc#60480 - [mono-2017-10] ZipArchiveTests in System.iO Compression tests fail on device + * bxc#60539 - mini-codegen.c:1265, condition `reginfo [sreg].born_in > 0’ not met + * bxc#60545 - Multiple argument generic with contravariant interface as an argument causes MissingMethodException. + * bxc#60634 - Assertion failure ‘align > 0’ happening as of d15-5 + * bxc#60771 - Attempting to JIT compile method ‘System.Runtime.CompilerServices.Unsafe:Add (byte&,int)’ while running in aot-only mode + * bxc#61002 - Runtime exception: Cannot access a disposed object. Object name: ‘MobileAuthenticatedStream’. + * gh#mono/mono#6169 - Thread objects are being leaked + * gh#mono/mono#6339 - System.TypeLoadException is thrown when run .net standard library with Mono + * gh#mono/mono#6383 - System.Diagnostics.ProcessTest.Start1_FileName_NotFound failing + ------------------------------------------------------------------- Fri Jan 26 00:00:00 UTC 2018 - fwdsbs.to.11df@xoxy.net + - Update to version 5.4.1.7 (Service Release) - Bugfixes: * bxc#59956 - [llvm][bitcode] [FAIL] UniqueIdTest.Ctor_Id (System.Runtime.Serialization tests) ------------------------------------------------------------------- Sun Nov 12 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net + - Update to version 5.4.1.6 (Service Release) - Patch bug-59608.patch was updated - Bugfixes: diff --git a/mono-core.spec b/mono-core.spec index 080f24d..9c3a345 100644 --- a/mono-core.spec +++ b/mono-core.spec @@ -38,10 +38,10 @@ %define roslyn no %endif -%define version_suffix 7 +%define version_suffix 108 Name: mono-core -Version: 5.4.1 +Version: 5.8.0 Release: 0 Summary: Cross-platform, Open Source, .NET development framework License: LGPL-2.1 and MIT and MS-PL @@ -56,18 +56,14 @@ ExcludeArch: ppc Patch1: ucontext.patch # PATCH-FIX-UPSTREAM search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs Patch2: provides-facades.patch -# PATCH-FIX-UPSTREAM System.Net.Sockets.EndSend returns incorrect value. See https://bugzilla.xamarin.com/show_bug.cgi?id=57918 for more information -Patch3: bug-57918.patch -# PATCH-FIX-UPSTREAM Attribute MethodImplOptions.AggressiveInlining causes method to always return NULL, patch created from commits: https://github.com/mono/mono/commit/df4669b216cb331e3b151b9171deee89339d34e2 and https://github.com/mono/api-snapshot/commit/c1a7bd7e026c9280fcd9825227d7ddde67255e00 -Patch4: bug-59608.patch # PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts Patch14: find-deps-fix.patch # PATCH-FIX-OPENSUSE revert Microsoft.Build.Tasks library to use old mcs compiler. This will make xbuild to use old mcs instead of csc - patch is used when roslyn is unavailable for current platform (big-endian systems). Patch15: xbuild-revert-to-mcs.patch # PATCH-FIX-OPENSUSE add missing internal headers to distribution, this is necessary for mono-debugger package. (Seems this bug is caused by this upstream commit: https://github.com/mono/mono/commit/e71a7f33ef30a5bbd0047b37a95533d06c860846) Patch16: fix-dbg-headers.patch -# PATCH-FIX-OPENSUSE if using deprecated mcs compiler instead of roslyn-csc convert non-compatible c#6 and c#7 code to older c#5 analogs, so mcs can compile it without errors. -Patch17: mcs-compatibility-fix.patch +# PATCH-FIX-OPENSUSE fix build error: E: mono-core 64bit-portability-issue threads.c:1866 +Patch18: fix-64bit-portability-issue.patch BuildRequires: cmake BuildRequires: autoconf BuildRequires: automake @@ -209,14 +205,12 @@ technologies that have been submitted to the ECMA for standardization. %setup -q -n mono-%{version}.%{version_suffix} %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 %patch14 -p1 %patch16 -p1 %if %roslyn == no %patch15 -p1 -%patch17 -p1 %endif +%patch18 -p1 %build # autogen.sh seems broken: it is not processing libgs subdirectory leaving old stuff there untouched. @@ -440,6 +434,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py %{_prefix}/lib/mono/4.5/Mono.Management.dll %{_prefix}/lib/mono/4.5/Mono.Parallel.dll %{_prefix}/lib/mono/4.5/Mono.Posix.dll +%{_prefix}/lib/mono/4.5/Mono.Profiler.Log.dll %{_prefix}/lib/mono/4.5/Mono.Security.dll %{_prefix}/lib/mono/4.5/Mono.Simd.dll %{_prefix}/lib/mono/4.5/Mono.Tasklets.dll @@ -486,6 +481,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py %{_prefix}/lib/mono/gac/Mono.Management %{_prefix}/lib/mono/gac/Mono.Parallel %{_prefix}/lib/mono/gac/Mono.Posix +%{_prefix}/lib/mono/gac/Mono.Profiler.Log %{_prefix}/lib/mono/gac/Mono.Security %{_prefix}/lib/mono/gac/Mono.Simd %{_prefix}/lib/mono/gac/Mono.Tasklets @@ -1326,7 +1322,6 @@ Mono development tools. %{_bindir}/pdb2mdb %{_bindir}/pedump %{_bindir}/permview -%{_bindir}/prj2make %{_bindir}/resgen %{_bindir}/resgen2 %{_bindir}/secutil