pkgsrc/lang/mono/patches/patch-support_signal.c
spz 447a8172f3 Update of Mono to version 3.10.0
Also: general patch refresh

Upstream release notes:

Mono 3.10.0 is a bugfix release with a few features.

Highlights

    Implemented System.IO.Compression.FileSystem.
    Uri now implements the .NET 4.5 behavior, it can be reverted to
    the old behavior in the same way by setting the System.Uri::s_IriParsing
    static field to false.

Performance

    Remove unnecessary locking from core metadata parsing functions.
    Avoid cache thrashing of locals array when looping over enumerator.

Known Issues

    The OSX packages have an invalid libgdiplus library that affects
    users of System.Drawing that requires it to work.
    This specially affects Xamarin.Mac users that fit the following criteria:

    Uses Xamarin.Mac Classic (Unified is unaffected).
    Uses the subsets of System.Drawing that use libgdiplus.dylib internally
    - System.Drawing.RectangleF, PointF, Colors are unaffected
    - System.Drawing.Bitmap, and font for example are affected

    The symptom of the problem is your application failing with:
    “System.TypeInitializationException: An exception was thrown by
    the type initializer for
    System.Drawing.GDIPlus —> System.Exception: GdiplusStartup”

Bug fixes
+++++++++
Runtime

    Fix support for unaligned offsets in the store_membase_imm opcodes.
    Fixes #23267.
    Fix the lookup of nested types which have a namespace. Fixes #21653.
    Increase some opcode sizes. Fixes #23026.
    Always pass the imt arg to interface calls in gsharedvt methods.
    Fixes #22624.
    Store the epilog length in MonoArchEHJitInfo instead of encoding
    it in jinfo->unwind_desc, since the latter can overflow for methods
    with large epilogs. Fixes #22685.
    Add a mono_thread_detach_if_exiting () public api function which
    can be called by embedding code to detach the runtime if the code
    is running from a pthread dtor. Fixes #21164.
    Fix yet another native types problem. Fixes #22053.
    Fix the leaking of mach ports introduced by
    98bbf8512aec0fa01b4426583280f6d231d22187. Fixes #22068.
    Add support for constrained calls with vtype return types in
    gsharedvt code. Fixes #22109.
    Fix the PLATFORM_GNU check so it works with gnueabi etc. as well.
    Fixes #21520.
    Don’t make runtime invoke signatures generic. Fixes #21973.
    Allow v8..v15 in unwind info on arm64. Fixes part of #21615.
    Fix Process.PrivateMemorySize64 etc. on ios. Fixes #21882.
    Fix enum->int casts in gsharedvt code. Fixes #21893.
    Don’t assert when loading a generic methodspec with 0 arity. Fixes #19097.
    Avoid asserting when a cattr cannot be loaded. Fixes #21653.
    Avoid making generic calls from gsharedvt methods normally, go
    through the rgctx infrastructure instead. Fixes #21677.

Class Libraries

    Fix Uri UserInfo parsing. Fixes 23246.
    Update RequestMessage.RequestUri.AbsoluteUri after redirect. Fixes #22383.
    Fixes XContainer attempt to create a XNode from a null value. Fixes #20151.
    Changed XObject OnChanged and OnChanging to use Owner. When
    XObject.Owner is not a XElement XObject.Parent returns null and the
    owner would not be notified of changing and changed events. Fixes #18772.
    Process XslLiteralElements with only child attributes as empty ones.
    Fixes #14751.
    ‘finally’ protect ClientRuntimeChannel.Begin/EndProcess(). Fixes #22179.
    WebClient.OpenWrite() must get the response on close. Fixes #10163.
    Fix WebClient.UploadValuesTaskAsync(); Fixes #20359.
    Improve System.Security.Claims. Fixes #22282.
    Fixed serialization of XmlNode field with attribute XmlAnyElement.
    Fixes #3211.
    Handle String::Format with escaped closing }. Fixes #22114
    Add a missing check to TypeBuilder.CreateType (). Fixes #22059.
    Xml Serialization of Base class w/o a parameterless constructor.
    Removed validation code that did not allowed serialization of
    base classes without a parameterless constructor. Fixes #6913.
    Fixed XmlSerializer to handle attribute XmlSchemePrivider.IsAny.
    XmlSerializer no longer outputs a root element with class name when
    the class has the attribute XmlSchemeProvider and IsAny is true.
    Fixes #11916
    Test that DeflateStream.Read does read an empty stream. Covers #19313.
    Reseting all private key values to null is required because a new
    import may not overwrite existing values. Fixes #18482.
    Handle quoted filename value. Fixes #21960.
    Dispose XmlReader using correct value. Fixes #21771.

C# Compiler

    Don’t use `1 naming for compiler generated second level and deeper
    nested types. Fixes #22893.
    Extend missing type check to type lookups. Fixes #20933.
    Fix copy and paste error in constraints checker. Fixes #22131.
    Speed up nullable tokenizer. Fixes #20195.
    Coalescing operator if the lhs of a null is a integer type that is
    larger than the integer type on the rhs. Fixes #22054.
    Check for duplicate destructors. Fixes #21983.
    Switch statement with constant block at first label. Fixes #21805.
    Decimal constants modulo folding. Fixes #21743.
    Update codegen for boolean loads. Fixes #21685.

MSBuild

    Workaround for issues with CreateItem task where metadata are
    not generated due to up-to-data inputs. Fixes #23022.
    Add KeepDuplicates etc. to 4.0 as internal. Fixes #20961.

------------------------------------------------------------------------
Mono 3.8.0 has 711 commits since the last release.
This is the work of 61 contributors since May 28. 58 bugs were fixed.

Highlights

    Major performance and scalability improvements across the the whole runtime.
    Finished the Windows 64 port.
    Debugger wire protocol optimized for usb connections.

Debugger

    Updated wire protocol better handles high latency connections such
    as those found when doing USB debugging.
    Client library now aggressively caches information and batches
    requests. Under one test scenario single stepping packets
    transmitted dropped from 2233 to only 16, with the latency going
    from seconds to 20 milliseconds.

Performance

    The JIT now better handles long remainders by powers of two,
    generating significantly better code.
    Over 10x faster code is generated for delegates that are only
    invoked once. C# features such as async and LINQ produce a lot of
    those delegates, so this improvement will impact everyone.
    Improved alias analysis can now handle second order aliases and
    eliminate null checks.
    The runtime now has a concurrently readable hashtable that can
    makes reflection heavy workloads significantly faster and more scalable.

Garbage Collection

    Optimized one of the core data structures of the garbage collector;
    should result in 5-10% reduction in collection times.

Bug fixes
+++++++++
Runtime

    Fix the leaking of mach ports introduced by
    98bbf8512aec0fa01b4426583280f6d231d22187. Fixes #22068
    Fix Process.PrivateMemorySize64 etc. on ios. Fixes #21882
    Fix enum->int casts in gsharedvt code. Fixes #21893
    Avoid making generic calls from gsharedvt methods normally, go
    through the rgctx infrastructure instead. Fixes #21677
    Fix another native-types problem. Hopefully fixes #21670 and #21636
    Use alias information to eliminate explicit null checks. Fixes #21645
    Initialize fields in MonoField:GetFieldOffset () if needed.
    Fixes part of #21604
    Properly handle rethrow outside of catch blocks. Fixes #20412
    Disable runtime unit tests on linux, because it cannot be linked
    due to circular dependencies between libraries. Fixes #21520
    When parsing a method header, ensure we pass any available generic
    context. Fixes #21388
    Added new mono_domain_set_config function; used to fix
    ConfigurationErrorsException in #10468
    Only apply the maverick stack size hack to the main thread. Fixes #10096
    Don’t hardcode the temp dir to /tmp, use g_get_tmp_dir instead.
    Fixes #20894
    Explicit thread GC data around instead of relying on TLS storage.
    Fixes #20360
    Make WaitForPendingFinalizers () really wait for the finalizers
    added by a previous GC. Fixes #20503
    Fix the marshal7.cs test, longs can be aligned to 4 bytes on
    32 bit linux, and the runtime no longer aligns structure sizes
    to 8 bytes. Fixes #20788
    Fix the popping of LMF frames during unwinding. Fixes #20616
    Fix the marshalling of ByValTStr types which have a size specified.
    Fixes #20674
    Fix the decoding of MonoJitInfo. Fixes #16439
    Make it possible to create views to magic zero size files such as
    /dev/zero. Fixes #19460
    Free static bound delegate wrappers of dynamic methods. Fixes #19058
    Don’t perform double accounting of offset for named memory segments.
    Fixes #20591
    Avoid joining attached threads. Fixes #19343
    Fix support for custom marshallers defined in other assemblies.
    Fixes #20020
    Fix a jit assertion on a class which contains an empty struct as
    a static field. Fixes #20349
    Applied patch from Kyle Edwards kyleedwardsny@gmail.com.
    Fix isinf () check with clang. Fixes #20244
    Fix constrained type unwrap for enum types. Fixes #18371

Class Libraries

    Handle quoted filename value. Fixes #21960
    Correctly handle partial chunk sizes. Fixes #20583
    Tweak Dictionary initial capacity to be more conservative. Fixes #21375
    Handle closed-over-null delegates created with IL when using
    InvokeDynamic. Fixes #21196
    Fix a race in a Task test. Fixes #20921
    Contract the values array when decoding an array with a negative
    number and a trailer that evals to zero. Fixes #20456
    Fixes issue with expression columns and IsNull. Fixes #20925
    Array qsort without head allocation. Fixes #20922
    Enum::TryParse ignores leading whitespaces. Fixes #20870
    Fix disposing of DelegatingHandler. Fixes #20818
    Fix digest authentication (bug #18799)
    Only recycle ServicePoints from the idle timer (fixes #19823)
    Changed ConcurrentDictionary.Contains(KeyValuePair<TKey, TValue>)
    to also compare value. Fixes #16990
    Add System.ServiceModel.Security assembly. Fixes #20108
    Removed NET_2_1 conditional blocks from FileInfo. Fixes #19862

C# Compiler

    Update codegen for boolean loads. Fixes #21685
    Effective base class can include inherited types. Fixes #21390
    Handle duplicate resume point registration. Fixes #21387
    Arguments can be empty when reporting missing params argument. Fixes #21215
    Flow analysis of moved arguments. Fixes #20983
    Run new initializer await checks only in async context. Fixes #20614
    Parse numeric expressions using invariant culture. Fixes #20582
    Reachability analysis should ignore local variables declarations.
    Fixes #20603
    Check for missing dependencies of container types. Fixes #20382
    Resolve event expression when testing left side expression. Fixes #20493
    Flow analysis of binary expressions not using logical operators.
    Fixes #20515

MSBuild

    Add 4.5.1 framework. Fixes #20827
    Parsing conditions with property references. Fixes #20634
    Implements property functions using constructor syntax. Fixes #12999

Mono Debugger

    Avoid clearning event requests if they reference an assembly which
    is unloaded. Instead, remove the assembly reference from the event
    request so it stays active. Fixes #9924.
2014-11-30 08:40:50 +00:00

17 lines
356 B
C

$NetBSD: patch-support_signal.c,v 1.2 2014/11/30 08:40:51 spz Exp $
Add necessary includes on SunOS.
--- support/signal.c.orig 2014-09-22 13:23:09.000000000 +0000
+++ support/signal.c
@@ -31,6 +31,10 @@
#include <mono/metadata/appdomain.h>
#endif
+#ifdef __sun
+#include <siginfo.h>
+#endif
+
G_BEGIN_DECLS
typedef void (*mph_sighandler_t)(int);