Hello community, here is the log from the commit of package mono-core for openSUSE:Factory checked in at 2018-04-26 13:33:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mono-core (Old) and /work/SRC/openSUSE:Factory/.mono-core.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mono-core" Thu Apr 26 13:33:26 2018 rev:119 rq:599230 version:5.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/mono-core/mono-core.changes 2018-04-01 17:26:16.340071540 +0200 +++ /work/SRC/openSUSE:Factory/.mono-core.new/mono-core.changes 2018-04-26 13:33:36.817793619 +0200 @@ -1,0 +2,94 @@ +Wed Apr 18 00:00:00 UTC 2018 - fwdsbs.to.1...@xoxy.net + +- Update to version 5.10.1.47 (5.10.1 Stable) +- Patch updated: ucontext.patch + +------------------------------------------------------------------- +Fri Mar 30 01:00:00 UTC 2018 - fwdsbs.to.1...@xoxy.net + +- Add xbuild-use-roslyn-vbc.patch: + * Make xbuild to use roslyn-vbc on roslyn-enabled builds instead of deprecated vbnc (it is also broken on roslyn-enabled builds) + +------------------------------------------------------------------- +Fri Mar 30 00:00:00 UTC 2018 - fwdsbs.to.1...@xoxy.net + +- Update to version 5.10.0.140 (5.10.0 Stable) +- Remove patch: provides-facades.patch +- Add profiler-aot-parse_args-fix.patch: + * Fix OBS build failure with "free(): invalid pointer" libc error. +- New features and changes: + * Interpreter: the interpreter is now compiled in by default into Mono, and you can use it by running mono --interpreter + * Default Interface Methods: the runtime now supports Default Interface Methods, we now only miss the C# compiler support + * Mono SDKs: this is a new way of building Mono for some of the platforms that we support: Android, iOS and WebAssembly. + * WebAssembly port: this is the first release where the interpreter can reliably run most of the class libraries test suite. + * Dedicated Coverage profiler: the coverage profiler has been extracted from the log profiler, making it much more lightweight + * ARM Memory Barriers: explicitly encode memory barrier type on ARM64, instead of relying on undefined behaviour according to the ARMv8 ABI + * AOT Size Reduction via Code Deduplication: we now support deduplicating generics code across assemblies + * Class Libraries: the recently announced .NET 4.7.1 is now supported and available as a specific target via MSBuild configuration; the System.Data assembly was fully replaced with CoreFX implementation resolving many limitations and corner cases issue we had as well as implementing missing features and APIs; significant parts of System.Security assembly implementation were replaced with CoreFX implementation + * Roslyn compiler: roslyn compiler has been updated to version 2.6.0 which includes all C# 7.2 features + * The Mono C# compiler: MCS gained support for some more C# 7.x features +- Bugfixes: + * bxc#19503 - Process.Start on OS X fails silently for missing file + * bxc#20562 - Seeming valid IL produces invalid result + * bxc#40699 - Console.ReadXXX does not echo input after TermInfoDriver is initialized + * bxc#45893 - I18N: EncoderFallbackBuffer.Fallback gets next character instead of the current one + * bxc#50189 - SGEN XMM scanning: Linux/Intel (32 + 64) + * bxc#50190 - SGEN FPU scanning: Darwin/ARM64 + * bxc#52675 - HttpListener doesn’t work with SSL + * bxc#53296 - Latin1Encoding throws exception on Mono when it doesn’t on MS.NET + * bxc#56003 - URI returns wrong absolute path on OSX when File name is UTF-8 + * bxc#56194 - SIGSEGV on System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray() + * bxc#56727 - Runtime crashes when disposing DeflateStream + * bxc#57892 - Static lib in the msi distrib doesn’t resolve all symbols + * bxc#57893 - mkbundle is not working on Windows + * bxc#57938 - Differences in behavior Type.Fullname in Mono and .NET Framework when Type is a generic type that is not a generic type definition but contains unresolved type parameters + * bxc#58400 - System.Uri broken with files + * bxc#58411 - System.Security.Cryptography.CryptographicException: Store root doesn’t exist + * bxc#59080 - Type information of underlying type for enums compiled by Mono.CSharp.dll seems to be incorrect + * bxc#59182 - Crash/SIGSEGV with interop callback with struct parameter from native to managed on Xamarin.Android on armv7 + * bxc#59184 - MethodInfo.Invoke fails for generic methods with too many/too large arguments + * bxc#59393 - NullReferenceException when MonthCalendar clicked out of min/max date + * bxc#59608 - Attribute MethodImplOptions.AggressiveInlining causes method to always return NULL + * bxc#59664 - Type.GetType(“”, true) throws ArgumentException on Mono but TypeLoadException on .NET + * bxc#59832 - [iOS]MT3001 error: Could not AOT the assembly error while building iOS/mobile samples + * bxc#59881 - DllImport calls a wrong function if its function number greater than 65535 + * 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#59956 - [llvm][bitcode] [FAIL] UniqueIdTest.Ctor_Id (System.Runtime.Serialization tests) + * bxc#60028 - Timer doesn’t throw ODE after Dispose() + * bxc#60029 - AsyncLocal inconsistency with .NET + * bxc#60175 - AOT mis-compiles when coverage is used + * bxc#60224 - Coverage profiler uses type names which don’t exist + * bxc#60233 - Assertion in dynamic-image.c after 792b5367cd3a6ffa1a192c4d2d7ace3509cbb646 + * bxc#60238 - Mono assertion hit when using csharp repl + * bxc#60255 - Wrong exception in emulated opcodes + * bxc#60267 - Inconsistent symlink traversal results + * bxc#60288 - Large Array Initializer Causes TypeLoadException + * bxc#60298 - LayoutKind.Explicit, Size = 12 ignored with 64bit alignment + * bxc#60317 - Stuck WebRequest + * bxc#60422 - Native crash due to unhandled errno values when accessing files on networked filesystems + * bxc#60435 - The DataGridViewRow.CreateCellsInstance method is never invoked + * 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#60621 - XmlDocument.Load() throws WebException when DTD url is not reachable + * bxc#60634 - Assertion failure ‘align > 0’ happening as of d15-5 + * bxc#60680 - C# 7 ref returns fail to compile + * bxc#60771 - Attempting to JIT compile method ‘System.Runtime.CompilerServices.Unsafe:Add (byte&,int)’ while running in aot-only mode + * bxc#60865 - * Assertion at mini-codegen.c:2264, condition `sp > 0’ not met + * bxc#61202 - Fatal error when adding aspect ratio constraint + * gh#mono/mono#6169 - Thread objects are being leaked + * gh#mono/mono#6187 - mkbundle Linux - program doesn’t run on system unless mono-core is installed + * gh#mono/mono#6192 - System.Reflection.Emit: PropertyBuilder with generic type doesn’t add generic parameter + * gh#mono/mono#6320 - [arm] unaligned access in ves_icall_System_ValueType_Equals + * 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 + * gh#mono/mono#6401 - Invalid array cast is supported + * gh#mono/mono#6414 - sbyte comparison broken by optimization + * gh#mono/mono#6490 - Reenable weak-fields.exe test + * gh#mono/mono#6721 - Negate operation on uint.MaxValue gives wrong result on arm64 + * gh#mono/mono#6777 - Memory corruption in Mono 5.8.0.108. + * gh#mono/mono#6848 - netstandard facade dlls have different public key tokens + * gh#mono/mono#6848 - [XI]WatchOS apps fail to build with error “Undefined symbols for architecture armv7k” using XI with mono-2017-12 support + * gh#mono/mono#7086 - Hybrid AOT throws invalid cast exception on dictionaries indexed with enum + +------------------------------------------------------------------- Old: ---- mono-5.8.1.0.tar.bz2 provides-facades.patch New: ---- mono-5.10.1.47.tar.bz2 profiler-aot-parse_args-fix.patch xbuild-use-roslyn-vbc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mono-core.spec ++++++ --- /var/tmp/diff_new_pack.wEj2XP/_old 2018-04-26 13:33:40.985640911 +0200 +++ /var/tmp/diff_new_pack.wEj2XP/_new 2018-04-26 13:33:40.989640764 +0200 @@ -38,10 +38,10 @@ %define roslyn no %endif -%define version_suffix 0 +%define version_suffix 47 Name: mono-core -Version: 5.8.1 +Version: 5.10.1 Release: 0 Summary: Cross-platform, Open Source, .NET development framework License: LGPL-2.1 and MIT and MS-PL @@ -54,8 +54,6 @@ ExcludeArch: ppc # PATCH-FIX-UPSTREAM use ucontext_t instead of struct ucontext 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-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). @@ -64,6 +62,10 @@ Patch16: fix-dbg-headers.patch # PATCH-FIX-OPENSUSE fix build error: E: mono-core 64bit-portability-issue threads.c:1866 Patch18: fix-64bit-portability-issue.patch +# PATCH-FIX-OPENSUSE fix build failure caused by mono crash at some stage by modifying temporary buffer allocation logic at mono/profiler/aot.c::parse_args +Patch19: profiler-aot-parse_args-fix.patch +# PATCH-FIX-OPENSUSE make xbuild to use roslyn-vbc on roslyn-enabled builds, in order to fix vbnc's VBNC99999 failures on such builds +Patch20: xbuild-use-roslyn-vbc.patch BuildRequires: cmake BuildRequires: autoconf BuildRequires: automake @@ -80,6 +82,7 @@ BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(zlib) +BuildRequires: python %ifnarch ia64 %arm s390 BuildRequires: pkgconfig(valgrind) %endif @@ -189,7 +192,7 @@ # 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 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 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}/vbc.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}/vbc.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_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' @@ -204,13 +207,15 @@ %prep %setup -q -n mono-%{version}.%{version_suffix} %patch1 -p1 -%patch2 -p1 %patch14 -p1 %patch16 -p1 %if %roslyn == no %patch15 -p1 +%else +%patch20 -p1 %endif %patch18 -p1 +%patch19 -p1 %build # autogen.sh seems broken: it is not processing libgs subdirectory leaving old stuff there untouched. @@ -265,6 +270,7 @@ %endif --with-ikvm=yes \ --with-moonlight=no +#make VERBOSE=1 V=s make %install @@ -334,8 +340,10 @@ 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/csi.* +rm -v %{buildroot}%{_prefix}/lib/mono/4.5/vbc.* rm -v %{buildroot}%{_bindir}/csc rm -v %{buildroot}%{_bindir}/csi +rm -v %{buildroot}%{_bindir}/vbc rm -rfv %{msbuild_prefix} %endif @@ -521,8 +529,10 @@ %if %roslyn == yes %{_bindir}/csc %{_bindir}/csi +%{_bindir}/vbc %{_prefix}/lib/mono/4.5/csc.* %{_prefix}/lib/mono/4.5/csi.* +%{_prefix}/lib/mono/4.5/vbc.* %{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll* %{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll* %{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll* @@ -1334,6 +1344,7 @@ %dir %{_datadir}/mono-2.0/mono/cil %dir %{_datadir}/mono-2.0/mono/profiler %{_datadir}/mono-2.0/mono/cil/cil-opcodes.xml +%{_datadir}/mono-2.0/mono/profiler/mono-profiler-coverage.suppression %{_datadir}/mono-2.0/mono/profiler/mono-profiler-log.suppression %{_libdir}/libmono-profiler-*.* %{_libdir}/pkgconfig/cecil.pc @@ -1358,6 +1369,7 @@ %{_mandir}/man1/mkbundle.1%ext_man %{_mandir}/man1/mono-api-info.1%ext_man %{_mandir}/man1/mono-cil-strip.1%ext_man +%{_mandir}/man1/mono-profilers.1%ext_man %{_mandir}/man1/mono-shlib-cop.1%ext_man %{_mandir}/man1/mono-symbolicate.1%ext_man %{_mandir}/man1/mono-xmltool.1%ext_man ++++++ mono-5.8.1.0.tar.bz2 -> mono-5.10.1.47.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/mono-core/mono-5.8.1.0.tar.bz2 /work/SRC/openSUSE:Factory/.mono-core.new/mono-5.10.1.47.tar.bz2 differ: char 12, line 1 ++++++ profiler-aot-parse_args-fix.patch ++++++ diff -uprN mono-5.10.0.160.old/mono/profiler/aot.c mono-5.10.0.160/mono/profiler/aot.c --- mono-5.10.0.160.old/mono/profiler/aot.c 2018-03-07 10:46:36.000000000 +0300 +++ mono-5.10.0.160/mono/profiler/aot.c 2018-03-12 02:25:51.857765220 +0300 @@ -108,7 +108,8 @@ parse_args (const char *desc) const char *p; gboolean in_quotes = FALSE; char quote_char = '\0'; - char *buffer = malloc (strlen (desc)); + char buffer[strlen (desc)]; + memset (buffer, 0, strlen (desc)); int buffer_pos = 0; for (p = desc; *p; p++){ @@ -154,7 +155,6 @@ parse_args (const char *desc) parse_arg (buffer); } - g_free (buffer); } void ++++++ ucontext.patch ++++++ --- /var/tmp/diff_new_pack.wEj2XP/_old 2018-04-26 13:33:41.077637541 +0200 +++ /var/tmp/diff_new_pack.wEj2XP/_new 2018-04-26 13:33:41.077637541 +0200 @@ -11,16 +11,3 @@ #define MONO_CONTEXT_SET_IP(ctx,ip) \ do { \ -Index: mono-5.0.1.1/mono/utils/mono-sigcontext.h -=================================================================== ---- mono-5.0.1.1.orig/mono/utils/mono-sigcontext.h -+++ mono-5.0.1.1/mono/utils/mono-sigcontext.h -@@ -285,7 +285,7 @@ typedef struct ucontext { - #endif - - #if defined(__linux__) -- typedef struct ucontext os_ucontext; -+ typedef ucontext_t os_ucontext; - - #ifdef __mono_ppc64__ - #define UCONTEXT_REG_Rn(ctx, n) (((os_ucontext*)(ctx))->uc_mcontext.gp_regs [(n)]) ++++++ xbuild-use-roslyn-vbc.patch ++++++ diff -uprN mono-5.10.1.25.old/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Vbc.cs mono-5.10.1.25/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Vbc.cs --- mono-5.10.1.25.old/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Vbc.cs 2018-03-30 10:46:30.000000000 +0300 +++ mono-5.10.1.25/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Vbc.cs 2018-03-30 18:18:16.455961999 +0300 @@ -326,7 +326,7 @@ namespace Microsoft.Build.Tasks { [MonoTODO] protected override string ToolName { get { - return MSBuildUtils.RunningOnWindows ? "vbnc.bat" : "vbnc"; + return MSBuildUtils.RunningOnWindows ? "vbc.bat" : "vbc"; } } diff -uprN mono-5.10.1.25.old/mcs/class/System/System/MonoToolsLocator.cs mono-5.10.1.25/mcs/class/System/System/MonoToolsLocator.cs --- mono-5.10.1.25.old/mcs/class/System/System/MonoToolsLocator.cs 2018-03-30 10:46:33.000000000 +0300 +++ mono-5.10.1.25/mcs/class/System/System/MonoToolsLocator.cs 2018-03-30 18:16:25.336430000 +0300 @@ -55,7 +55,7 @@ namespace System { //if (!File.Exists (CSharpCompiler)) // throw new FileNotFoundException ("C# compiler not found at " + CSharpCompiler); - VBCompiler = Path.Combine (GacPath, "4.5\\vbnc.exe"); + VBCompiler = Path.Combine (GacPath, "4.5\\vbc.exe"); AssemblyLinker = Path.Combine (GacPath, "4.5\\al.exe"); if (!File.Exists (AssemblyLinker)) { @@ -73,9 +73,9 @@ namespace System { if (!File.Exists (McsCSharpCompiler)) McsCSharpCompiler = "mcs"; - VBCompiler = Path.GetFullPath (Path.Combine (mscorlibPath, "..", "..", "..", "..", "bin", "vbnc")); + VBCompiler = Path.GetFullPath (Path.Combine (mscorlibPath, "..", "..", "..", "..", "bin", "vbc")); if (!File.Exists (VBCompiler)) - VBCompiler = "vbnc"; + VBCompiler = "vbc"; AssemblyLinker = Path.GetFullPath (Path.Combine (mscorlibPath, "..", "..", "..", "..", "bin", "al")); if (!File.Exists (AssemblyLinker)) diff -uprN mono-5.10.1.25.old/mcs/tools/xbuild/data/Microsoft.VisualBasic.targets mono-5.10.1.25/mcs/tools/xbuild/data/Microsoft.VisualBasic.targets --- mono-5.10.1.25.old/mcs/tools/xbuild/data/Microsoft.VisualBasic.targets 2018-03-30 10:46:35.000000000 +0300 +++ mono-5.10.1.25/mcs/tools/xbuild/data/Microsoft.VisualBasic.targets 2018-03-30 18:19:02.595020000 +0300 @@ -114,7 +114,7 @@ <Import Project="Microsoft.Common.targets" /> <PropertyGroup> - <VbcToolExe Condition="'$(VbcToolExe)' == ''">vbnc.exe</VbcToolExe> + <VbcToolExe Condition="'$(VbcToolExe)' == ''">vbc.exe</VbcToolExe> </PropertyGroup> </Project>