forked from pool/mono-core
Accepting request 536289 from Mono:Factory
1 OBS-URL: https://build.opensuse.org/request/show/536289 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mono-core?expand=0&rev=113
This commit is contained in:
commit
f858128ef5
@ -1,28 +0,0 @@
|
|||||||
From e6e0fb82261340f9181d1b2b11a9706a16c5dbc7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Zoltan Varga <vargaz@gmail.com>
|
|
||||||
Date: Fri, 4 Aug 2017 11:39:28 -0400
|
|
||||||
Subject: [PATCH] [btls] Disable BUILD_SHARED_LIBS while building boringssl, so
|
|
||||||
its symbols are not exported from the btls shared lib. (#5307)
|
|
||||||
|
|
||||||
---
|
|
||||||
mono/btls/CMakeLists.txt | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
|
|
||||||
index 9f2365d3e50..d33038d75cf 100644
|
|
||||||
--- a/mono/btls/CMakeLists.txt
|
|
||||||
+++ b/mono/btls/CMakeLists.txt
|
|
||||||
@@ -31,7 +31,10 @@ set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}")
|
|
||||||
set (CMAKE_MACOSX_RPATH 1)
|
|
||||||
set (MONO_BTLS 1)
|
|
||||||
|
|
||||||
+set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
|
|
||||||
+set(BUILD_SHARED_LIBS OFF)
|
|
||||||
add_subdirectory (${BTLS_ROOT} boringssl)
|
|
||||||
+set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
|
|
||||||
|
|
||||||
include_directories (
|
|
||||||
${SRC_DIR}
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
33
bug-57918.patch
Normal file
33
bug-57918.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From b2250d8ecf56f71ea4c2c7271ac138d1f0196136 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Katelyn Gadd <kg@luminance.org>
|
||||||
|
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)]
|
93
bug-59608.patch
Normal file
93
bug-59608.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
diff -uprN mono-5.4.0.201/external/api-snapshot/profiles/net_4_x/PEAPI.cs mono-5.4.0.201.new/external/api-snapshot/profiles/net_4_x/PEAPI.cs
|
||||||
|
--- mono-5.4.0.201/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-10-04 18:31:32.000000000 +0300
|
||||||
|
+++ mono-5.4.0.201.new/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-10-24 05:28:58.773995162 +0300
|
||||||
|
@@ -473,6 +473,7 @@ namespace PEAPI
|
||||||
|
}
|
||||||
|
public enum ImplAttr
|
||||||
|
{
|
||||||
|
+ AggressiveInlining = 256,
|
||||||
|
ForwardRef = 16,
|
||||||
|
IL = 0,
|
||||||
|
InternalCall = 4096,
|
||||||
|
diff -uprN mono-5.4.0.201/mono/mini/iltests.il mono-5.4.0.201.new/mono/mini/iltests.il
|
||||||
|
--- mono-5.4.0.201/mono/mini/iltests.il 2017-10-04 18:30:42.000000000 +0300
|
||||||
|
+++ mono-5.4.0.201.new/mono/mini/iltests.il 2017-10-24 05:30:44.849696785 +0300
|
||||||
|
@@ -2896,4 +2896,50 @@ END:
|
||||||
|
IL_0018: ldloc.0
|
||||||
|
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
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
diff -uprN mono-5.4.0.201/mono/mini/method-to-ir.c mono-5.4.0.201.new/mono/mini/method-to-ir.c
|
||||||
|
--- mono-5.4.0.201/mono/mini/method-to-ir.c 2017-10-04 18:30:42.000000000 +0300
|
||||||
|
+++ mono-5.4.0.201.new/mono/mini/method-to-ir.c 2017-10-24 05:30:44.853696774 +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;
|
||||||
|
|
@ -1,94 +0,0 @@
|
|||||||
diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
|
|
||||||
index 26f04c1..703a648 100644
|
|
||||||
--- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
|
|
||||||
+++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
|
|
||||||
@@ -34,6 +34,7 @@ public NuGetPackageObject(string id, string version, Func<string> fullPackagePat
|
|
||||||
|
|
||||||
public string Id { get; }
|
|
||||||
public string Version { get; }
|
|
||||||
+ public string RelativePackagePath => (string)LibraryObject["path"];
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The JSON object from the "targets" section in the project.lock.json for this package.
|
|
||||||
diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
|
|
||||||
index 8acffe3..a074997 100644
|
|
||||||
--- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
|
|
||||||
+++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
|
|
||||||
@@ -369,7 +369,7 @@ private void GetAnalyzers(JObject lockFile)
|
|
||||||
if (Path.GetExtension(file).Equals(".dll", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
string path;
|
|
||||||
- if (TryGetFile(package.Id, package.Version, file, out path))
|
|
||||||
+ if (TryGetFile(package.Id, package.Version, package.RelativePackagePath, file, out path))
|
|
||||||
{
|
|
||||||
var analyzer = new TaskItem(path);
|
|
||||||
|
|
||||||
@@ -441,16 +441,16 @@ private void SetWinMDMetadata(IEnumerable<ITaskItem> runtimeWinMDs, ICollection<
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private bool TryGetFile(string packageName, string packageVersion, string file, out string path)
|
|
||||||
+ private bool TryGetFile(string packageName, string packageVersion, string packageRelativePath, string file, out string path)
|
|
||||||
{
|
|
||||||
if (IsFileValid(file, "C#", "VB"))
|
|
||||||
{
|
|
||||||
- path = GetPath(packageName, packageVersion, file);
|
|
||||||
+ path = GetPath(packageName, packageVersion, packageRelativePath, file);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (IsFileValid(file, "VB", "C#"))
|
|
||||||
{
|
|
||||||
- path = GetPath(packageName, packageVersion, file);
|
|
||||||
+ path = GetPath(packageName, packageVersion, packageRelativePath, file);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -469,9 +469,9 @@ private bool IsFileValid(string file, string expectedLanguage, string unExpected
|
|
||||||
!file.Split('/').Any(x => x.Equals(unExpectedLanguage, StringComparison.OrdinalIgnoreCase)));
|
|
||||||
}
|
|
||||||
|
|
||||||
- private string GetPath(string packageName, string packageVersion, string file)
|
|
||||||
+ private string GetPath(string packageId, string packageVersion, string packageRelativePath, string file)
|
|
||||||
{
|
|
||||||
- return Path.Combine(GetNuGetPackagePath(packageName, packageVersion), file.Replace('/', Path.DirectorySeparatorChar));
|
|
||||||
+ return Path.Combine(GetNuGetPackagePath(packageId, packageVersion, packageRelativePath), file.Replace('/', Path.DirectorySeparatorChar));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
@@ -932,17 +932,23 @@ private void AddReferencedPackages(JArray packageDependencies, SortedSet<string>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private string GetNuGetPackagePath(string packageId, string packageVersion)
|
|
||||||
+ private string GetNuGetPackagePath(string packageId, string packageVersion, string packageRelativePath)
|
|
||||||
{
|
|
||||||
+ string relativePathToUse = String.IsNullOrEmpty(packageRelativePath)
|
|
||||||
+ ? Path.Combine(packageId, packageVersion)
|
|
||||||
+ : packageRelativePath.Replace('/', Path.DirectorySeparatorChar);
|
|
||||||
+
|
|
||||||
+ string hashFileName = $"{packageId.ToLowerInvariant()}.{packageVersion.ToLowerInvariant()}.nupkg.sha512";
|
|
||||||
+
|
|
||||||
foreach (var packagesFolder in _packageFolders)
|
|
||||||
{
|
|
||||||
- string packagePath = Path.Combine(packagesFolder, packageId, packageVersion);
|
|
||||||
+ string packageFullPath = Path.Combine(packagesFolder, relativePathToUse);
|
|
||||||
|
|
||||||
// The proper way to check if a package is available is to look for the hash file, since that's the last
|
|
||||||
// file written as a part of the restore process. If it's not there, it means something failed part way through.
|
|
||||||
- if (_fileExists(Path.Combine(packagePath, $"{packageId}.{packageVersion}.nupkg.sha512")))
|
|
||||||
+ if (_fileExists(Path.Combine(packageFullPath, hashFileName)))
|
|
||||||
{
|
|
||||||
- return packagePath;
|
|
||||||
+ return packageFullPath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -972,7 +978,7 @@ private IEnumerable<NuGetPackageObject> GetPackagesFromTarget(JObject lockFile,
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- fullPackagePathGenerator = () => GetNuGetPackagePath(id, version);
|
|
||||||
+ fullPackagePathGenerator = () => GetNuGetPackagePath(id, version, (string)libraryObject["path"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
yield return new NuGetPackageObject(id, version, fullPackagePathGenerator, (JObject)package.Value, libraryObject);
|
|
320
mcs-compatibility-fix.patch
Normal file
320
mcs-compatibility-fix.patch
Normal file
@ -0,0 +1,320 @@
|
|||||||
|
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<MethodBase, ParameterInfo[]> 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<MemberBinding> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:03b8e463032bc425673dec844b35b4c669f5b99b0e45521195efb3741a9f5e94
|
|
||||||
size 158434164
|
|
3
mono-5.4.0.201.tar.bz2
Normal file
3
mono-5.4.0.201.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2a2f5c2a214a9980c086ac7561a5dd106f13d823a630de218eabafe1d995c5b4
|
||||||
|
size 204925122
|
@ -1,3 +1,115 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 24 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
|
||||||
|
|
||||||
|
- Add bug-59608.patch:
|
||||||
|
* Fix bxc#59608 - Attribute MethodImplOptions.AggressiveInlining causes method to always return NULL
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 20 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
|
||||||
|
|
||||||
|
- Add bug-57918.patch:
|
||||||
|
* Fix bxc#57918 - System.Net.Sockets.EndSend returns incorrect value
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 17 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
|
||||||
|
|
||||||
|
- Update to version 5.4.0.201 (5.4.0 Stable)
|
||||||
|
- Minor packaging updates
|
||||||
|
- Remove patch: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch
|
||||||
|
- Remove patch: fix-project-builds-linux.patch
|
||||||
|
- Add patch mcs-compatibility-fix.patch:
|
||||||
|
* When using deprecated MCS compiler to build Mono, convert incompatible C#6\C#7 code to C#5 analog in order to fix build errors.
|
||||||
|
- New features and changes:
|
||||||
|
* JIT Job Control: improve Roslyn performance
|
||||||
|
* Array element store optimization
|
||||||
|
* Load scalability improvements
|
||||||
|
* ValueType write barrier optimization
|
||||||
|
* Make jit method table resizing more scalable
|
||||||
|
* Reflection queries scalability improvements
|
||||||
|
* Intrisificy Marshal.PtrToStruct for blitable types
|
||||||
|
* Revamped unaligned memory access support
|
||||||
|
* Interpreter works in JIT restricted environments
|
||||||
|
* Interpreter supports ARM and ARM64
|
||||||
|
* Class Libraries: integrated AppContextSwitch code from reference sources which allows all of its compat switches to be used, added reference assemblies for .NET Framework 4.7 to support builds targetting .NET 4.7.
|
||||||
|
* Tools: bundled nuget binary was updated to version 4.3.0, added packaging for roslyn-parts of msbuild.
|
||||||
|
- Bugfixes:
|
||||||
|
* bxc#580 - Type.Load loads strong type despite version mismatch
|
||||||
|
* bxc#17325 - RealProxy returns MarshalByRefObject for an Interface instead of the real interface type
|
||||||
|
* bxc#44907 - Applications crash on Nexus 9 devices only since Xamarin.Android 7.0.0.18
|
||||||
|
* bxc#46482 - SIGSEGV at random code lines after application start on Nexus 9 with Xamarin Android 7
|
||||||
|
* bxc#51791 - [XA] HTC Nexus 9 - app closes on launch
|
||||||
|
* bxc#52508 - TLS SignalR Self-host Hang
|
||||||
|
* bxc#53038 - SRE should fail more gracefully when SymbolWriter is missing
|
||||||
|
* bxc#53202 - Number minus Enum gives wrong value
|
||||||
|
* bxc#53244 - mcs generates ParamArrayAttribute when specifying “params” in overridden method where base doesn’t have it
|
||||||
|
* bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request
|
||||||
|
* bxc#54159 - Compiler crashes when calling method named Finalize
|
||||||
|
* bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times
|
||||||
|
* bxc#54388 - InternalsVisibleTo is case sensitive
|
||||||
|
* bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo
|
||||||
|
* bxc#54485 - Creating an open generic type with recurrent constraint fails
|
||||||
|
* bxc#54658 - [iOS]BCL test failed with Assertion failures error: * Assertion at /Users/builder/data/lanes/4691/6bea7a5b/source/xamarin-macios/external/mono/mono/mini/aot-runtime.c:2924, condition `!async’ not met and condition `unwind_options == MONO_UNWIND_NONE’ not
|
||||||
|
* bxc#54976 - [iOS]fsharp test failing on iOS device with Assertion at /Users/builder/data/lanes/4691/9245c1c0/source/xamarin-macios/external/mono/mono/mini/mini-arm-gsharedvt.c:220, condition `src_slot < 16’ not met
|
||||||
|
* bxc#54991 - Cannot compile get => _text
|
||||||
|
* bxc#55041 - Stripping mscorlib in simple example changes IntPtr (5) behavior?
|
||||||
|
* bxc#55083 - coreclr test b353858.il fails after 6f33b62f39a273fccb78f71513cb5e0dfb987c70
|
||||||
|
* bxc#55095 - Breakpoints not hit for ASP.NET MVC Project
|
||||||
|
* bxc#55348 - “using static” results in invalid compiler errors
|
||||||
|
* bxc#55400 - MCS produces incorrect code for generic instantiated with a gtd
|
||||||
|
* bxc#55436 - System.Runtime refuses to load with strict naming
|
||||||
|
* bxc#55577 - SIMD instructions with System.Numerics.Vectors do not work
|
||||||
|
* 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#55604 - Incorrect struct size when using property setter
|
||||||
|
* bxc#55697 - .NET 2.0 style web services fail to build under msbuild in Release but work with xbuild
|
||||||
|
* bxc#56081 - Returning a valuetype from an async method with an awaited parameter yields a Mono.CSharp.InternalErrorException: Await yields with non-empty stack
|
||||||
|
* bxc#56111 - Hitting assertion after enabling AOT+LLVM on x86 devices in tramp-x86.c:124
|
||||||
|
* bxc#56202 - [mono-2017-04]Apps fail to launch on 32 bit device with error EXC_ARM_DA_ALIGN at 0x0142ccec
|
||||||
|
* bxc#56240 - Performance Degradation When Using Expressions
|
||||||
|
* bxc#56242 - TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD throws NRE on Android in Release mode
|
||||||
|
* bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT
|
||||||
|
* bxc#56452 - Problem Stack too big
|
||||||
|
* bxc#56462 - Custom operator causes internal compiler error
|
||||||
|
* bxc#56493 - Windows MMAP doesn’t release file
|
||||||
|
* bxc#56499 - DateTime.Now throws exception if /etc/localtime symlink destination missing
|
||||||
|
* bxc#56567 - Passing large struct into exception filter method crashes runtime with SIGSEGV
|
||||||
|
* bxc#56611 - Regression: ArrayTypeMismatchException when running F# script
|
||||||
|
* bxc#56616 - Missing CS1629 for unsafe code in iterators
|
||||||
|
* bxc#56627 - mcs inherits interface implementation, while csc doesn’t
|
||||||
|
* bxc#56684 - (mono-2.0-sgen.dll) in mono.exe: 0xC0000005: Access violation reading location 0x04FA3D9A.
|
||||||
|
* bxc#56694 - Assertion: should not be reached at d:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:91
|
||||||
|
* bxc#56814 - Xamarin.Mac.dll Memory Leak starting with 3.2.0.175 Release
|
||||||
|
* bxc#56821 - Static ctor of MarshalByRefObject runs in primary AppDomain
|
||||||
|
* bxc#56824 - Runtime crash with VSMEF
|
||||||
|
* bxc#57002 - New bockbuild package is missing .dSYM directories
|
||||||
|
* 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#57242 - [StructLayout (LayoutKind.Sequential, Pack = 1)] doesn’t work as expected
|
||||||
|
* bxc#57301 - Running IronPython’s executable under Mono 5.0.x causes a SIGSEGV on exit, this did not happen on 4.8
|
||||||
|
* bxc#57496 - [Slovenian CultureInfo + others] .Parse throws exception when parsing negative values
|
||||||
|
* bxc#57505 - Missing error CS0165 in presence of commented line
|
||||||
|
* 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#57930 - Building netstandard 2.0 project throws DllNotFoundException: hostfxr during msbuild
|
||||||
|
* bxc#57959 - SIGSEGV in roslyn with corrupted stack
|
||||||
|
* bxc#58114 - [llvm] csc (Rolsyn) produce fault clauses that the llvm backend does not support
|
||||||
|
* bxc#58210 - “* Assertion at metadata.c:1048, condition `index < meta->heap_strings.size’ not met” is output on startup - works fine on Windows
|
||||||
|
* bxc#58344 - SIMD crash using System.Numerics.Vector
|
||||||
|
* bxc#58361 - EnumBuilder can no longer be used to generate IL code
|
||||||
|
* bxc#58399 - Delegates as collection key are ~500x slower than previously
|
||||||
|
* bxc#58421 - sre-save.c asserts in fixup_method () if TypeBuilder token is used across assemblies
|
||||||
|
* bxc#58446 - [iOS]EnumerableMoreTest.ConcatArgumentNullTest crash on tvOS device
|
||||||
|
* 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#58738 - System.IO.MonoIO.Read - Native Crash when device file is gone
|
||||||
|
* bxc#58782 - Exception stack traces are deleted when reaching the native-to-managed wrapper in a reverse invoke
|
||||||
|
* bxc#58829 - Application Output Window being flooded with “[Mono] worker parking, [Mono] worker unparking” messages when debugging agasint Android Emulator
|
||||||
|
* bxc#59235 - [mono-2017-06] android.runtime.JavaProxyThrowable: System.ObjectDisposedException: Cannot access a disposed object.
|
||||||
|
* bxc#59274 - [Mac]A crash report is generated on closing mac apps
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 29 21:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
|
Fri Sep 29 21:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
%define boehm yes
|
%define boehm yes
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64 armv7l armv7hl aarch64
|
||||||
%define btls yes
|
%define btls yes
|
||||||
%else
|
%else
|
||||||
%define btls no
|
%define btls no
|
||||||
@ -38,10 +38,10 @@
|
|||||||
%define roslyn no
|
%define roslyn no
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define version_suffix 224
|
%define version_suffix 201
|
||||||
|
|
||||||
Name: mono-core
|
Name: mono-core
|
||||||
Version: 5.2.0
|
Version: 5.4.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Cross-platform, Open Source, .NET development framework
|
Summary: Cross-platform, Open Source, .NET development framework
|
||||||
License: LGPL-2.1 and MIT and MS-PL
|
License: LGPL-2.1 and MIT and MS-PL
|
||||||
@ -56,16 +56,18 @@ ExcludeArch: ppc
|
|||||||
Patch1: ucontext.patch
|
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
|
# 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
|
Patch2: provides-facades.patch
|
||||||
# PATCH-FIX-UPSTREAM disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib (https://github.com/mono/mono/commit/e6e0fb82261340f9181d1b2b11a9706a16c5dbc7)
|
# PATCH-FIX-UPSTREAM System.Net.Sockets.EndSend returns incorrect value. See https://bugzilla.xamarin.com/show_bug.cgi?id=57918 for more information
|
||||||
Patch3: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch
|
Patch3: bug-57918.patch
|
||||||
# PATCH-FIX-UPSTREAM fix finding nuget packages in lower-case dirs on case-sensitive filesystems (https://github.com/mono/NuGet.BuildTasks/commit/112685a925e5c0d26fcf9c9006341d4fa4f66515)
|
# 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: fix-project-builds-linux.patch
|
Patch4: bug-59608.patch
|
||||||
# PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts
|
# PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts
|
||||||
Patch14: find-deps-fix.patch
|
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).
|
# 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
|
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)
|
# 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
|
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
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
@ -186,10 +188,13 @@ Provides: mono(Mono.Configuration.Crypto) = 4.0.0.0
|
|||||||
Requires: timezone
|
Requires: timezone
|
||||||
|
|
||||||
%define _use_internal_dependency_generator 0
|
%define _use_internal_dependency_generator 0
|
||||||
|
|
||||||
# mono now ships with precompiled roslyn components that will lead us to broken requires\provides
|
# mono now ships with precompiled roslyn components that will lead us to broken requires\provides
|
||||||
# instead of filtering bigger list of broken requires\provides, filter initial filelist and disable precompiled binaries from evaluation
|
# instead of filtering bigger list of broken requires\provides, filter initial filelist and disable precompiled binaries from evaluation
|
||||||
%define roslyn_prefix %{buildroot}%{_prefix}/lib/mono/4.5
|
%define roslyn_prefix %{buildroot}%{_prefix}/lib/mono/4.5
|
||||||
%define filtered_filelist printf "%s\\n" "${filelist[@]}" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis.CSharp.dll" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis.dll" | grep -v "%{roslyn_prefix}/System.Collections.Immutable.dll" | grep -v "%{roslyn_prefix}/System.Reflection.Metadata.dll" | grep -v "%{roslyn_prefix}/csc.exe" | cat -
|
%define msbuild_prefix %{buildroot}%{_prefix}/lib/mono/msbuild/15.0/bin/Roslyn
|
||||||
|
%define filtered_filelist printf "%s\\n" "${filelist[@]}" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis" | grep -v "%{roslyn_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{roslyn_prefix}/System.Collections.Immutable.dll" | grep -v "%{roslyn_prefix}/System.Reflection.Metadata.dll" | grep -v "%{roslyn_prefix}/csc.exe" | grep -v "%{roslyn_prefix}/csi.exe" | grep -v "%{roslyn_prefix}/VBCSCompiler.exe" | grep -v "%{msbuild_prefix}/Microsoft.CodeAnalysis" | grep -v "%{msbuild_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{msbuild_prefix}/System.Collections.Immutable.dll" | grep -v "%{msbuild_prefix}/System.Reflection.Metadata.dll" | grep -v "%{msbuild_prefix}/csc.exe" | grep -v "%{msbuild_prefix}/csi.exe" | grep -v "%{msbuild_prefix}/VBCSCompiler.exe" | cat -
|
||||||
|
|
||||||
%define __find_provides env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-provides && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq'
|
%define __find_provides env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-provides && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq'
|
||||||
%define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-requires && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq'
|
%define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-requires && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq'
|
||||||
|
|
||||||
@ -210,6 +215,7 @@ technologies that have been submitted to the ECMA for standardization.
|
|||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
%if %roslyn == no
|
%if %roslyn == no
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
|
%patch17 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -260,9 +266,6 @@ export PATH=/opt/novell/llvm-mono/bin:$PATH
|
|||||||
%ifnarch %ix86 x86_64
|
%ifnarch %ix86 x86_64
|
||||||
--disable-system-aot \
|
--disable-system-aot \
|
||||||
%endif
|
%endif
|
||||||
%if %btls == yes
|
|
||||||
--enable-dynamic-btls \
|
|
||||||
%endif
|
|
||||||
%if %roslyn == no
|
%if %roslyn == no
|
||||||
--with-csc=mcs \
|
--with-csc=mcs \
|
||||||
%endif
|
%endif
|
||||||
@ -331,8 +334,15 @@ rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
|
|||||||
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
|
||||||
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
|
||||||
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
|
||||||
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.Scripting.dll*
|
||||||
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.Scripting.dll*
|
||||||
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.VisualBasic.dll*
|
||||||
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/VBCSCompiler.*
|
||||||
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csc.*
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csc.*
|
||||||
|
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csi.*
|
||||||
rm -v %{buildroot}%{_bindir}/csc
|
rm -v %{buildroot}%{_bindir}/csc
|
||||||
|
rm -v %{buildroot}%{_bindir}/csi
|
||||||
|
rm -rfv %{msbuild_prefix}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%fdupes %{buildroot}%{_prefix}
|
%fdupes %{buildroot}%{_prefix}
|
||||||
@ -514,11 +524,17 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%endif
|
%endif
|
||||||
%if %roslyn == yes
|
%if %roslyn == yes
|
||||||
%{_bindir}/csc
|
%{_bindir}/csc
|
||||||
|
%{_bindir}/csi
|
||||||
%{_prefix}/lib/mono/4.5/csc.*
|
%{_prefix}/lib/mono/4.5/csc.*
|
||||||
|
%{_prefix}/lib/mono/4.5/csi.*
|
||||||
%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
|
%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
|
||||||
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
|
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
|
||||||
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
|
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
|
||||||
|
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.Scripting.dll*
|
||||||
|
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.Scripting.dll*
|
||||||
|
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.VisualBasic.dll*
|
||||||
%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
|
%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
|
||||||
|
%{_prefix}/lib/mono/4.5/VBCSCompiler.*
|
||||||
%{_prefix}/lib/mono/4.5/al.pdb
|
%{_prefix}/lib/mono/4.5/al.pdb
|
||||||
%{_prefix}/lib/mono/4.5/cert-sync.pdb
|
%{_prefix}/lib/mono/4.5/cert-sync.pdb
|
||||||
%{_prefix}/lib/mono/4.5/certmgr.pdb
|
%{_prefix}/lib/mono/4.5/certmgr.pdb
|
||||||
@ -1439,6 +1455,7 @@ Mono development tools.
|
|||||||
%dir %{_libdir}/mono/
|
%dir %{_libdir}/mono/
|
||||||
%{_libdir}/mono/lldb
|
%{_libdir}/mono/lldb
|
||||||
%if %roslyn == yes
|
%if %roslyn == yes
|
||||||
|
%{_prefix}/lib/mono/msbuild
|
||||||
%{_prefix}/lib/mono/4.5/caspol.pdb
|
%{_prefix}/lib/mono/4.5/caspol.pdb
|
||||||
%{_prefix}/lib/mono/4.5/cccheck.pdb
|
%{_prefix}/lib/mono/4.5/cccheck.pdb
|
||||||
%{_prefix}/lib/mono/4.5/ccrewrite.pdb
|
%{_prefix}/lib/mono/4.5/ccrewrite.pdb
|
||||||
|
Loading…
Reference in New Issue
Block a user