Aleksey Kliger [Thu, 21 Apr 2016 18:52:57 +0000 (14:52 -0400)]
[cominterop] MonoError-ize mono_string_from_bstr
Runtime should use mono_string_from_bstr_checked. The icall is
mono_string_from_bstr_icall. Marked mono_string_from_bstr external only.
Zoltan Varga [Thu, 12 May 2016 14:01:45 +0000 (10:01 -0400)]
Alex Rønne Petersen [Thu, 12 May 2016 12:14:30 +0000 (14:14 +0200)]
Merge pull request #2853 from alexrp/thread-name-improvements
More thread name improvements
Alex Rønne Petersen [Sat, 9 Apr 2016 11:24:13 +0000 (13:24 +0200)]
[threads] Add a missing mono_hazard_pointer_clear () in thread_cleanup ().
Alex Rønne Petersen [Fri, 8 Apr 2016 01:23:40 +0000 (03:23 +0200)]
[threads] mono_thread_set_name_internal (): Rename 'managed' arg to 'permanent'.
The actual meaning is about whether or not the name is allowed to change after
having been set by the mono_thread_set_name_internal () call; it has nothing to
do with whether the call came from managed per se.
Alex Rønne Petersen [Fri, 8 Apr 2016 01:20:11 +0000 (03:20 +0200)]
[threads] Don't consider MONO_THREAD_FLAG_NAME_SET when setting thread name at thread startup.
If we did consider this, an internal runtime thread that had its name set by a
mono_thread_set_name_internal (..., FALSE /*managed*/, ...) call prior to
starting would not have its native name set nor its name reported to the
profiler.
Alex Rønne Petersen [Fri, 8 Apr 2016 01:15:44 +0000 (03:15 +0200)]
[threads] Don't exempt thread pool threads from the 'name already set' check + exception.
MS.NET doesn't, so we shouldn't either.
Bug: https://bugzilla.xamarin.com/show_bug.cgi?id=23206
Alex Rønne Petersen [Fri, 8 Apr 2016 01:13:58 +0000 (03:13 +0200)]
[threads] Only mark a thread as having a name set if the given name is non-null.
This is consistent with MS.NET behavior.
Alex Rønne Petersen [Fri, 8 Apr 2016 01:02:56 +0000 (03:02 +0200)]
[threads] Rename mono_thread_info_set_name () to mono_native_thread_set_name ().
This function has nothing to do with MonoThreadInfo structures, so the name is
somewhat misleading. It only requires a native thread ID.
Alex Rønne Petersen [Fri, 8 Apr 2016 01:02:17 +0000 (03:02 +0200)]
[domain] Remove an unnecessary call to mono_thread_info_set_name ().
We now do this in the thread main function.
Rolf Bjarne Kvinge [Thu, 12 May 2016 10:39:33 +0000 (12:39 +0200)]
Bump nunit-lite to get compiler warning fix.
commit //github.com/mono/NUnitLite@
7065bc89e8661cad447140752c0fce118644e06e
Author: Rolf Bjarne Kvinge <rolf@xamarin.com>
Date: Thu May 12 12:30:28 2016 +0200
Fix compiler warning.
Zoltan Varga [Thu, 12 May 2016 10:15:23 +0000 (06:15 -0400)]
[arm] Implement a dummy version of MONO_CONTEXT_GET_CURRENT () on watchos, only the sp register is set, this is the only one needed by sgen.
Zoltan Varga [Thu, 12 May 2016 07:52:13 +0000 (03:52 -0400)]
[arm] Fix the DISABLE_JIT build.
Zoltan Varga [Thu, 12 May 2016 02:31:22 +0000 (22:31 -0400)]
[aot] Add some MonoError machinery to aot-runtime.c.
Vlad Brezae [Wed, 11 May 2016 19:37:35 +0000 (22:37 +0300)]
Merge pull request #2971 from BrzVlad/feature-cross-binprot
[sgen] Cross platform binary protocol grep
Alexander Köplinger [Wed, 11 May 2016 19:29:21 +0000 (21:29 +0200)]
Merge pull request #2986 from akoeplinger/fix-mono310-bootstrapping
[System] Rename variable to fix bootstrapping with Mono 3.10 mcs
Marek Safar [Wed, 11 May 2016 16:24:52 +0000 (18:24 +0200)]
[corlib] Put back instance creation using activation attributes. Fixes #40758
Ludovic Henry [Wed, 11 May 2016 15:09:49 +0000 (11:09 -0400)]
Merge pull request #2982 from ludovic-henry/fix-cross-monocontext
Revert "[MonoContext] Make cross compiler a specific case"
Alexander Köplinger [Wed, 11 May 2016 12:57:20 +0000 (14:57 +0200)]
Merge pull request #2985 from akoeplinger/fix-bug39305
[corlib] Make CountdownEventTests.Signal_Concurrent more reliable
Zoltan Varga [Wed, 11 May 2016 12:55:33 +0000 (12:55 +0000)]
[arm] Implement hardfp support in gsharedvt. Store the caller/callee CallInfo into GSharedVtCallInfo and iterate over it instead of extending the slot based code for simplicity.
Alexander Köplinger [Wed, 11 May 2016 12:36:57 +0000 (14:36 +0200)]
[System] Rename variable to fix bootstrapping with Mono 3.10 mcs
We were seeing compilation errors like this:
```
System.Security.Cryptography.X509Certificates/X509EnhancedKeyUsageExtension.cs(71,20): error CS0135: `oid' conflicts with a declaration in a child block
System.Security.Cryptography.X509Certificates/X509EnhancedKeyUsageExtension.cs(74,17): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 38 warnings
make[9]: *** [../../class/lib/basic/secxml/System.dll] Error 1
```
The new foreach variables introduced in
4a6e5d24e174b9d2860300503b4a79396d7ae96d with the same "oid" name as the global constant apparently confused the older mcs compiler.
Rename them to avoid this.
Alexander Köplinger [Wed, 11 May 2016 12:11:28 +0000 (14:11 +0200)]
[corlib] Make CountdownEventTests.Signal_Concurrent more reliable
We were seeing random failures of the test in the iOS simulator and devices.
Looking at the test, it seems to me like the 1000ms timeout is just too short. In a single iteration we're
enqueuing 500 threadpool workitems and effectively give each of them just 2ms to run and signal the CountdownEvent.
Indeed I can easily repro this in the simulator on my box if I lower the timeout to 900ms.
This may be a side effect of the new threadpool which starts threads more conservatively afaik.
Bumping the timeout should fix this.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=39305
Marek Safar [Wed, 11 May 2016 10:23:48 +0000 (12:23 +0200)]
Merge pull request #2973 from marek-safar/rs-Uri
[System] Uri handling from reference source
Marek Safar [Mon, 9 May 2016 17:42:41 +0000 (19:42 +0200)]
[System] Uri handling from reference source
Fixes many issues in our uri handling
Zoltan Varga [Wed, 11 May 2016 07:36:20 +0000 (07:36 +0000)]
[arm] Remove the unfinished nacl codegen code.
Zoltan Varga [Wed, 11 May 2016 07:18:24 +0000 (07:18 +0000)]
[arm] Implement hardfp support for dyncalls.
Zoltan Varga [Wed, 11 May 2016 06:38:08 +0000 (06:38 +0000)]
[arm] Fix float32 + hardfp support.
Aleksey Kliger (λgeek) [Tue, 10 May 2016 21:06:54 +0000 (17:06 -0400)]
Merge pull request #2983 from akoeplinger/fix-bug40462
[corlib] Ignore DirectoryNotFoundException in FileStreamTest.OpenCharDeviceRepeatedly test
Ludovic Henry [Tue, 10 May 2016 19:45:45 +0000 (15:45 -0400)]
[MonoContext] Fix sgen STW cross compilation
Alexander Köplinger [Tue, 10 May 2016 19:05:32 +0000 (21:05 +0200)]
[corlib] Ignore DirectoryNotFoundException in FileStreamTest.OpenCharDeviceRepeatedly test
It seems that older iOS6 devices don't allow access to /dev, as a DirectoryNotFoundException is
thrown when accessing /dev/zero in the FileStreamTest.OpenCharDeviceRepeatedly test there.
Ignore this exception and the test in those cases.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40462
Ludovic Henry [Tue, 10 May 2016 18:31:20 +0000 (14:31 -0400)]
Revert "[MonoContext] Make cross compiler a specific case"
This reverts commit
09ae5b01c1fabcf3ca39a918d92fdd25457f0b12.
This would break the XA and XI builds
Marek Safar [Tue, 10 May 2016 18:12:51 +0000 (20:12 +0200)]
Merge pull request #2981 from rolfbjarne/fix-rebuild-offsets-tool
[offsets-tool] Only create the .stamp-clone file if the clone succeeds.
Rolf Bjarne Kvinge [Tue, 10 May 2016 17:43:13 +0000 (19:43 +0200)]
[offsets-tool] Only create the .stamp-clone file if the clone succeeds.
This makes rebuilds work if the clone was cancelled.
Martin Baulig [Tue, 10 May 2016 17:37:51 +0000 (13:37 -0400)]
[System]: Lazy-init X509ChainPolicy.ExtraStore when called from SystemCertificateValidator. Fixes #40899.
AppleTLS supports a lazily-initialized X509Certificate, but not X509Certificate2 so
we need to fall-back to using Mono.Security.X509 whenever we need an X509Certificate2.
To avoid unnecessary fallbacks, the private Mono.Net.Security APIs use X509Certificate
instead of X509Certificate2.
Since 'ExtraStore' returns X509Certificate2Collection, we need to convert these to
X509Certificate2.
(cherry picked from commit
05e2372339b8d0b6065376096216b91098c88a8b)
Ludovic Henry [Tue, 10 May 2016 17:38:02 +0000 (13:38 -0400)]
Merge pull request #2978 from ludovic-henry/coop-fix-reset-blocking
[threads] Fix reset blocking state transition
Marek Safar [Tue, 10 May 2016 15:50:11 +0000 (17:50 +0200)]
Merge pull request #2933 from ludovic-henry/referencesource-monitor
[corlib] Import System.Threading.Monitor
Marek Safar [Tue, 10 May 2016 15:37:10 +0000 (17:37 +0200)]
[mcs] More tweaks to undefined tie-breaking rules. Fixes #40945
Zoltan Varga [Tue, 10 May 2016 09:59:51 +0000 (05:59 -0400)]
[llvmonly] Avoid sharing refs and intptrs in gsharedvt wrappers, it doesn't work yet.
Zoltan Varga [Tue, 10 May 2016 09:57:25 +0000 (05:57 -0400)]
[llvmonly] Disable linkonce methods, they don't work yet.
Zoltan Varga [Tue, 10 May 2016 06:17:49 +0000 (02:17 -0400)]
[runtime] Check for a null argument in mono_monitor_enter_v4_fast () before calling mono_monitor_try_enter_internal (), the latter would set a pending exception, but the JITted code calling enter_v4_fast () doesn't check for it.
Zoltan Varga [Tue, 10 May 2016 05:58:00 +0000 (01:58 -0400)]
[jit] Set the real_offset of inlined bblocks to the il offset where the method was inlined, so get_most_deep_clause () in llvm works correctly with inlined methods.
Zoltan Varga [Tue, 10 May 2016 05:43:21 +0000 (01:43 -0400)]
[llvmonly] Transform the error returned by init_method () into an exception and throw it, it can be an exception thrown by a cctor.
Vlad Brezae [Fri, 6 May 2016 01:03:31 +0000 (04:03 +0300)]
[sgen] Support binary protocol cross platform grep-ing across platforms with unequal word sizes
Vlad Brezae [Fri, 6 May 2016 00:32:17 +0000 (03:32 +0300)]
[sgen] Pack structs for binary protocol entries
We save space and support cross platform grep-ing across platforms with the same word size.
Vlad Brezae [Thu, 5 May 2016 21:51:48 +0000 (00:51 +0300)]
[sgen] Split protocol entry grep from argument parsing
Vlad Brezae [Thu, 5 May 2016 21:17:45 +0000 (00:17 +0300)]
[sgen] Extract entry stream code into new file
Vlad Brezae [Thu, 5 May 2016 20:29:32 +0000 (23:29 +0300)]
[sgen] Use types with explicit size for protocol entries, on the reader end
Ludovic Henry [Mon, 9 May 2016 22:32:50 +0000 (18:32 -0400)]
[threads] Fix reset blocking state transition
There would previously be a race between reset blocking and a STW, that would happen as follow:
- T1 goes into blocking - T1 state is BLOCKING(0)
- T2 suspends T1 - T1 state is BLOCKING(1)
- T1 does a reset blocking -> T1 state is SELF SUSPEND REQUESTED
- T2 calls `mono_thread_info_get_suspend_state` on T1 --- SIGABRT as we cannot get suspend state when state is SELF SUSPEND REQUESTED
- T1 does polling -> T1 state is SELF SUSPENDED
The fix is for reset blocking to work like done blocking: switch to BLOCKING AND SUSPENDED.
Alexander Köplinger [Mon, 9 May 2016 22:25:23 +0000 (00:25 +0200)]
Use available memory instead of physical memory as metric for allocation-heavy tests
We were seeing issues on the new Jenkins Azure boxes which had 7GB of physical memory but only about 1GB free at the time of the test, so it'd fail.
Checking the available memory should fix this.
Aleksey Kliger (λgeek) [Mon, 9 May 2016 19:11:47 +0000 (15:11 -0400)]
Merge pull request #2967 from lambdageek/dev/coop-threadpool-exceptions5
[runtime] Pending exception takes precedence over Thread.Abort ()
Aleksey Kliger (λgeek) [Mon, 9 May 2016 18:56:50 +0000 (14:56 -0400)]
Merge pull request #2954 from lambdageek/dev/monoerror-field_static_get_value
MonoError for mono_field_static_get_value
Aleksey Kliger [Wed, 4 May 2016 23:10:29 +0000 (19:10 -0400)]
[runtime] Pending exception takes precedence over Thread.Abort ()
If there's a pending exception and an AbortRequested, the pending
excpetion should be thrown.
This fixes threadpool-exceptions5.cs in coop mode.
There are two situations where this could happen.
1. Like threadpool-exception5.cs we have a threadpool worker thread
request an abort and then its async callback runs and throws an
exception. In this case apparently the async callback's exception
should be allowed to unwind and hit the unhandled exception handler.
2. A thread catches ThreadAbortException and then posts a pending
exception of some other excpetion from the catch clause. In this case
we unwind that other exception, and when it's caught we rethrow the
abort.
Marek Safar [Mon, 9 May 2016 15:39:13 +0000 (17:39 +0200)]
[System] Cleanup uri tests
Aleksey Kliger [Thu, 21 Apr 2016 16:34:45 +0000 (12:34 -0400)]
[runtime] MonoError-ize mono_field_static_get_value
Mark it external only. Runtime should use mono_field_static_get_value_checked.
Aleksey Kliger [Thu, 21 Apr 2016 15:59:56 +0000 (11:59 -0400)]
[runtime] MonoError-ize mono_field_static_get_value_for_thread
Aleksey Kliger [Thu, 21 Apr 2016 15:48:00 +0000 (11:48 -0400)]
[runtime] MonoError-ize get_default_field_value
Aleksey Kliger [Thu, 21 Apr 2016 15:45:23 +0000 (11:45 -0400)]
[runtime] MonoError-ize mono_get_constant_value_from_blob
Zoltan Varga [Mon, 9 May 2016 11:15:51 +0000 (07:15 -0400)]
[arm] Enable native types for Xamarin.WatchOS.dll too. Enable Unwind_Backtrace support on watchos.
Zoltan Varga [Mon, 9 May 2016 11:14:12 +0000 (07:14 -0400)]
[llvm] Enable OP_LADD_OVF opcodes on 32 bit platforms too. Avoid optimizing long shift opcodes when using llvm. Enable support for hardfp calling conventions on arm.
Zoltan Varga [Mon, 9 May 2016 11:11:21 +0000 (07:11 -0400)]
[arm] Use the hardfp abi on watchos.
Zoltan Varga [Mon, 9 May 2016 01:13:38 +0000 (21:13 -0400)]
[ppdb] Avoid using pdb files for assemblies which are not compiled by csc using /debug:portable. Fixes #40886.
Zoltan Varga [Sun, 8 May 2016 22:51:45 +0000 (18:51 -0400)]
[llvm] Add support for OP_GC_SAFE_POINT.
Zoltan Varga [Fri, 6 May 2016 22:22:09 +0000 (18:22 -0400)]
[arm] Align the stack correctly in the gsharedvt trampoline on platforms with frame alignment greater than 8 (watchos).
Zoltan Varga [Fri, 6 May 2016 22:20:52 +0000 (18:20 -0400)]
[arm] Define MONO_ARCH_DISABLE_HW_TRAPS on watchos.
Martin Baulig [Fri, 6 May 2016 20:09:54 +0000 (16:09 -0400)]
[System]: Fix certificate validation with empty hostname.
When the system certificate validator is invoked with an empty hostname
(caller does not want us to validate the hostname), then we need to pass
null to SecPolicyCreateSSL() and not the empty string.
(cherry picked from commit
f29804d149bed8032dabd862c9823bf5e74b0db4)
Martin Baulig [Fri, 6 May 2016 19:50:33 +0000 (15:50 -0400)]
[System]: Add comment to the obsoletion of Mono-specific ServicePointManager APIs.
(cherry picked from commit
1b4921b57321cbb353951e23c9841d7c7b6ce3b7)
Martin Baulig [Thu, 5 May 2016 21:19:20 +0000 (17:19 -0400)]
[System]: Obsolete the Mono-specific cipher suite callbacks in ServicePointManager.
(cherry picked from commit
fa75386bb88de96d58487673885b969c9d784f30)
Martin Baulig [Thu, 5 May 2016 19:55:54 +0000 (15:55 -0400)]
[corlib]: Cleanup X509Helper.Import().
Only attempt the automatic PEM->DER conversion when no password was given
and make this version of X509Helper.Import() also take care of the fallback.
(cherry picked from commit
63a214c3f02c6ac28d19a8ca95f7f39c1e31a072)
Aleksey Kliger (λgeek) [Fri, 6 May 2016 17:33:38 +0000 (13:33 -0400)]
Merge pull request #2968 from lambdageek/dev/coop-unify-jit_thread_attach
[runtime] Unify codepath in mono_jit_thread_attach
Aleksey Kliger [Thu, 5 May 2016 22:09:28 +0000 (18:09 -0400)]
[runtime] Unify codepath in mono_jit_thread_attach
Previously we had separate codepaths in mono_jit_thread_attach for coop
and non-coop modes.
Now there's a common codepath for attaching the thread, and separate
code paths for performing coop state machine transitions and computing
the return value cookie.
Fixes Mono.Debugger.Soft tests under coop.
Rodrigo Kumpera [Thu, 5 May 2016 23:21:56 +0000 (19:21 -0400)]
Merge pull request #2963 from ludovic-henry/fix-unified-suspend
[threads] Fix some unified suspend bugs
Ludovic Henry [Tue, 3 May 2016 18:56:49 +0000 (14:56 -0400)]
[sgen] Fix possible race condition between world stop and restart
Ludovic Henry [Mon, 2 May 2016 21:58:16 +0000 (17:58 -0400)]
[sgen] Do not skip starting and detaching thread during suspend
By skipping thread which have a NULL domain or lmf, we would also skip threads which are in RUNNING mode, but which are still attaching to the runtime. They could have in practice called `mono_thread_info_attach`, without having executed any managed code or set a domain yet. Because we would simply discard the suspending for these threads, we could potentially not suspend them, meaning they would keep running, even potentially run some managed code, while the GC is still running.
To fix that, we need to slightly modify the expectation of sgen STW when using unified suspend. The non-unified expectation of sgen STW would be that even if a thread has a non-initialized domain or lmf, it should still be suspended, but not scanned. The unified expectation of sgen STW would be that if a thread has a non-initialized domain or lmf, then the thread shouldn't be suspended. That second behaviour works well if we only consider that the domain or lmf could be non-initialized when the thread is detaching, but that consideration is just wrong. The main example is the beginning of `start_wrapper_internal` (in threads.c:637), where we have non-initialized domain and lmf, but where the thread is in RUNNING state, and about to access some managed memory.
Ludovic Henry [Wed, 6 Apr 2016 08:34:24 +0000 (09:34 +0100)]
[threads] Correct comment
Ludovic Henry [Fri, 1 Apr 2016 16:09:50 +0000 (17:09 +0100)]
[sgen] Improve STW debugging output
Ludovic Henry [Fri, 1 Apr 2016 17:28:42 +0000 (18:28 +0100)]
[threads] Make debugging output consistent
Other THREAD_SUSPEND_DEBUG would print the native thread TID, instead of the MonoThreadInfo*
Ludovic Henry [Fri, 1 Apr 2016 17:19:17 +0000 (18:19 +0100)]
[threads] Increase state machine verbosity when crashing
Ludovic Henry [Fri, 1 Apr 2016 10:59:26 +0000 (11:59 +0100)]
[threads] Fix segfault
Ludovic Henry [Thu, 31 Mar 2016 19:05:05 +0000 (20:05 +0100)]
[suspend] Don't try to suspend an already suspended thread
Ludovic Henry [Tue, 8 Dec 2015 05:23:44 +0000 (00:23 -0500)]
[threads] Fix compilation warning
Ludovic Henry [Mon, 7 Dec 2015 15:45:29 +0000 (10:45 -0500)]
[sgen] Add some assertion for stack start and end
Ludovic Henry [Mon, 7 Dec 2015 15:25:57 +0000 (10:25 -0500)]
[tests] Add sgen-new-threads-dont-join-stw-2
Ludovic Henry [Thu, 31 Mar 2016 13:00:49 +0000 (14:00 +0100)]
[threads] Be more verbose in the case of an error
Ludovic Henry [Thu, 31 Mar 2016 11:51:25 +0000 (12:51 +0100)]
[runtime] Use utils mono_thread_info_yield
Vlad Brezae [Thu, 5 May 2016 17:58:22 +0000 (20:58 +0300)]
[sgen] Remove old unused defines
Ludovic Henry [Thu, 5 May 2016 19:18:44 +0000 (15:18 -0400)]
Merge pull request #2948 from ludovic-henry/coop-n2m-eh-callback
[marshal] Add EH callback for native-to-managed wrapper
Aleksey Kliger (λgeek) [Thu, 5 May 2016 17:18:47 +0000 (13:18 -0400)]
Merge pull request #2965 from lambdageek/dev/checked-pinvoke3
[coop] Allow BLOCKING->DETACHED transition
Zoltan Varga [Thu, 5 May 2016 17:10:41 +0000 (13:10 -0400)]
Fix the cross compiler build.
Ludovic Henry [Thu, 5 May 2016 12:46:12 +0000 (08:46 -0400)]
Merge pull request #2964 from ludovic-henry/sgen-monocontext
[MonoContext] Migrate remaining architectures + [sgen] Kill USE_MONO_CTX and ARCH_NUM_REGS
Marek Safar [Thu, 5 May 2016 07:15:14 +0000 (09:15 +0200)]
Merge pull request #2966 from marek-safar/oid
[System] Oid from referencesource
Martin Baulig [Thu, 5 May 2016 00:02:50 +0000 (20:02 -0400)]
[corlib]: Try to convert the certificate from PEM to DER in X509Helper.Import().
Alex Rønne Petersen [Wed, 4 May 2016 22:52:19 +0000 (00:52 +0200)]
Merge pull request #2928 from alexrp/master
[profiler] Fix profiler compilation under bitcode.
Marek Safar [Wed, 4 May 2016 21:59:22 +0000 (23:59 +0200)]
[System] Oid from referencesource. Fixes #40646 and other incompabilities
Ludovic Henry [Wed, 20 Apr 2016 17:19:02 +0000 (19:19 +0200)]
[corlib] Import System.Threading.Monitor
Ludovic Henry [Wed, 4 May 2016 20:01:16 +0000 (16:01 -0400)]
Merge pull request #2955 from ludovic-henry/mono_msec_ticks-overflow
[runtime] Fix potential overflow when using mono_msec_ticks
Aleksey Kliger [Wed, 4 May 2016 14:41:44 +0000 (10:41 -0400)]
[coop] Allow BLOCKING->DETACHED transition.
On coop, an OS thread can go
STARTING->BLOCKING->RUNNING->BLOCKING->DETACHED.
For ordinary managed threads BLOCKING->DETACHED is still a bug like
before, but hopefully the checked build machinery will help us to catch
those situations.
Aleksey Kliger [Wed, 4 May 2016 14:15:05 +0000 (10:15 -0400)]
[checked] Use correct reset blocking cookie when attaching OS threads
When checked build is running with GC checking, it uses a non-zero
integer cookie instead of the thread info pointer.
This fixes pinvoke3.cs test_43_thread_attach() in checked coop builds.
Ludovic Henry [Mon, 25 Apr 2016 13:42:26 +0000 (09:42 -0400)]
[marshal] Add EH callback for native-to-managed wrapper
This is going to be used by Xamarin.iOS to convert a managed exception to an Obj-C exception. We need this as if we don't do that, the managed exception mechanism will unwind native stack, which can lead to undefined behavior. By converting to an Obj-C exception, we let the native exception mechanism do what it's supposed to do.
Ludovic Henry [Mon, 25 Apr 2016 13:33:24 +0000 (09:33 -0400)]
[marhsal] Always generate try { ... } finally { ... } in native-to-managed wrapper
Marek Safar [Wed, 4 May 2016 11:22:30 +0000 (13:22 +0200)]
[corlib] Update locale tables. Fixes #40697