mono.git
7 years agoFix a cut'n'paste error
Marek Habersack [Thu, 28 Jul 2016 17:24:25 +0000 (19:24 +0200)]
Fix a cut'n'paste error

7 years agoMerge pull request #3338 from lambdageek/dev/plug-ptrarray-leak
Rodrigo Kumpera [Thu, 28 Jul 2016 15:21:01 +0000 (11:21 -0400)]
Merge pull request #3338 from lambdageek/dev/plug-ptrarray-leak

[reflection] Don't leak GPtrArray internal array

7 years agoMerge pull request #3334 from alexrp/arm-cpu-detect-fix
Alex Rønne Petersen [Thu, 28 Jul 2016 15:08:26 +0000 (17:08 +0200)]
Merge pull request #3334 from alexrp/arm-cpu-detect-fix

[arm] Also check the 'model name' line for the architecture version.

7 years ago[corlib] change Mono.SafeGPtrArrayHandle to a struct
Aleksey Kliger [Thu, 28 Jul 2016 14:59:14 +0000 (10:59 -0400)]
[corlib] change Mono.SafeGPtrArrayHandle to a struct

Don't GC allocate short-lived internal garbage.

7 years ago[reflection] Don't leak GPtrArray internal array
Aleksey Kliger [Thu, 28 Jul 2016 14:53:06 +0000 (10:53 -0400)]
[reflection] Don't leak GPtrArray internal array

`g_ptr_array_free (..., FALSE)` was the wrong thing here.  We always
want TRUE in our use cases.

7 years ago[mcs] Add codegen for compound assigment of complex expressions with concatenated...
Marek Safar [Thu, 28 Jul 2016 12:09:45 +0000 (14:09 +0200)]
[mcs] Add codegen for compound assigment of complex expressions with concatenated string using await inside params arguments. Fixes #42224

7 years ago[arm] Make HAVE_ARMV{5,6,7} macros override hwcap detection.
Alex Rønne Petersen [Thu, 28 Jul 2016 02:32:19 +0000 (04:32 +0200)]
[arm] Make HAVE_ARMV{5,6,7} macros override hwcap detection.

This is necessary on weird devices where the hwcap code might fail to detect
the ARM version it's running on (usually caused by differences in /proc/cpuinfo
output).

7 years agoMerge pull request #2961 from schani/fix-sgen-refactoring
Vlad Brezae [Wed, 27 Jul 2016 20:04:34 +0000 (23:04 +0300)]
Merge pull request #2961 from schani/fix-sgen-refactoring

SGen fixes and refactorings

7 years agoMerge pull request #3328 from BrzVlad/finalizer-thread-exited2
Vlad Brezae [Wed, 27 Jul 2016 19:59:27 +0000 (22:59 +0300)]
Merge pull request #3328 from BrzVlad/finalizer-thread-exited2

[sgen] Avoid popping the entire finalizer queues if finalizers are su…

7 years ago[System.Core] Add MonoTODOAttribute to workaround linker bug with IVT from mscorlib
Marek Safar [Wed, 27 Jul 2016 19:50:39 +0000 (21:50 +0200)]
[System.Core] Add MonoTODOAttribute to workaround linker bug with IVT from mscorlib

7 years ago[arm] Also check the 'model name' line for the architecture version.
Alex Rønne Petersen [Wed, 27 Jul 2016 16:17:40 +0000 (18:17 +0200)]
[arm] Also check the 'model name' line for the architecture version.

Some Android devices for some reason have a 'model name' line instead of a
'Processor' line. On such devices, we would fail to detect the architecture
version at all, and end up thinking that it's ARMv4 (even if the runtime
was compiled for ARMv7).

7 years ago[mcs] Detect constant switch statement fall-through. Fixes #42585
Marek Safar [Wed, 27 Jul 2016 09:40:49 +0000 (11:40 +0200)]
[mcs] Detect constant switch statement fall-through. Fixes #42585

7 years ago[Facades] Remove duplicate System.IO.Compression
Marek Safar [Wed, 27 Jul 2016 07:40:11 +0000 (09:40 +0200)]
[Facades] Remove duplicate System.IO.Compression

7 years ago[sdb] Explicitly encode in the JIT debug info whenever there is precise information...
Zoltan Varga [Wed, 27 Jul 2016 00:32:30 +0000 (20:32 -0400)]
[sdb] Explicitly encode in the JIT debug info whenever there is precise information about variable locations instead of checking whenever the method has seq points. Fixes #42750.

7 years ago[sgen] Avoid popping the entire finalizer queues if finalizers are suspended
Vlad Brezae [Mon, 25 Jul 2016 17:40:59 +0000 (20:40 +0300)]
[sgen] Avoid popping the entire finalizer queues if finalizers are suspended

When we shutdown we set suspend_finalizers flag in metadata so we no longer run any finalizers. After recent changes, we avoid traversing gc hashes for finalizer enqueuing when this flag is set. The counterpart, popping the queues empty (even without running the finalizers) can still take some time, especially since we lock for each entry. Exit early from this loop if we no longer need to run finalizers.

Achieve this by setting a new flag inside sgen, instead of passing the address of suspend_finalizers all the time to the sgen api.

7 years agoMerge pull request #3199 from lambdageek/dev/proxy-setter
Aleksey Kliger (λgeek) [Tue, 26 Jul 2016 16:47:45 +0000 (12:47 -0400)]
Merge pull request #3199 from lambdageek/dev/proxy-setter

[remoting] Convert mono_store_remote_field_new_checked to managed code

7 years ago[mcs] Report interpolated strings feature. Fixes #42410
Marek Safar [Tue, 26 Jul 2016 15:44:28 +0000 (17:44 +0200)]
[mcs] Report interpolated strings feature. Fixes #42410

7 years agoMerge pull request #3330 from madewokherd/compactframework
Marek Safar [Tue, 26 Jul 2016 14:26:02 +0000 (16:26 +0200)]
Merge pull request #3330 from madewokherd/compactframework

Remap the Compact Framework PublicKeyToken for assemblies it ships.

7 years ago[System.Text.Encoding.CodePages] Small improvements
Marek Safar [Tue, 26 Jul 2016 14:13:30 +0000 (16:13 +0200)]
[System.Text.Encoding.CodePages] Small improvements

7 years ago[mono-api-info] Add contract-api option
Marek Safar [Tue, 26 Jul 2016 13:08:43 +0000 (15:08 +0200)]
[mono-api-info] Add contract-api option

7 years ago[mono-api-html] Ignore more non breaking virtual changes when enabled
Marek Safar [Tue, 26 Jul 2016 13:06:46 +0000 (15:06 +0200)]
[mono-api-html] Ignore more non breaking virtual changes when enabled

7 years ago[bcl] Update some of .net apis
Marek Safar [Tue, 26 Jul 2016 13:05:18 +0000 (15:05 +0200)]
[bcl] Update some of .net apis

7 years ago[semaphore] Return error for mono_os_sem_timedwait
Ludovic Henry [Wed, 13 Jul 2016 11:36:02 +0000 (13:36 +0200)]
[semaphore] Return error for mono_os_sem_timedwait

7 years ago[semaphore] Make mono_os_semaphore_* functions return more meaningful values
Ludovic Henry [Wed, 13 Jul 2016 11:15:24 +0000 (13:15 +0200)]
[semaphore] Make mono_os_semaphore_* functions return more meaningful values

By asserting on error, we ensure that we return from these functions only when successfull, or when it makes sense to return an error (for example, timedwait return -1 only on timeout or interrupt).

7 years ago[mutex] Make mono_os_mutex_* functions return more meaningful value
Ludovic Henry [Wed, 13 Jul 2016 11:10:01 +0000 (13:10 +0200)]
[mutex] Make mono_os_mutex_* functions return more meaningful value

By asserting on error, we ensure that we return from these functions only when successfull, or when it makes sense to return an error (for example, timedwait return -1 only on timeout).

7 years agoMerge pull request #3327 from rolfbjarne/bug41745
Alexander Köplinger [Tue, 26 Jul 2016 11:30:51 +0000 (13:30 +0200)]
Merge pull request #3327 from rolfbjarne/bug41745

[System*] Disable tests that require working networking stack on watchOS.

7 years ago[threadpool-ms] Fix use-after-unloaded of domain
Ludovic Henry [Tue, 26 Jul 2016 11:22:34 +0000 (13:22 +0200)]
[threadpool-ms] Fix use-after-unloaded of domain

The following scenario might happen:
 - thread A: returns from tpdomain D1, then parks
 - thread B: returns from tpdomain D1, D1 is unloading so it's removed with `domain_remove`
 - thread A: unparks, calls `domain_get_next` with tpdomain D1
  - domain_get_next asserts as it can't find tpdomain D1 in the list of domains

To fix that, we simply set the previous_tpdomain to NULL when unparking.

7 years ago[System*] Add category for tests that use API that require BSD sockets.
Rolf Bjarne Kvinge [Fri, 1 Jul 2016 11:12:19 +0000 (13:12 +0200)]
[System*] Add category for tests that use API that require BSD sockets.

We don't have access to BSD sockets on watchOS, so that API
doesn't work.

With this category we'll be able to exclude these tests.

7 years agoMerge pull request #3331 from lambdageek/dev/test-for-42625
Alexander Köplinger [Tue, 26 Jul 2016 08:56:27 +0000 (10:56 +0200)]
Merge pull request #3331 from lambdageek/dev/test-for-42625

[debugger-agent] Regression test for #42625

7 years agoMerge pull request #3262 from lindenlab/add_continuations_test
Alexander Köplinger [Tue, 26 Jul 2016 08:49:19 +0000 (10:49 +0200)]
Merge pull request #3262 from lindenlab/add_continuations_test

Added Mono.Tasklets test

7 years ago[runtime] Accomplish BITCODE build symbol sharing with only make (#3329)
Alexander Kyte [Tue, 26 Jul 2016 05:02:25 +0000 (01:02 -0400)]
[runtime] Accomplish BITCODE build symbol sharing with only make (#3329)

7 years agoAdded Mono.Tasklets test
Dolphin Hawkins [Fri, 8 Jul 2016 23:47:45 +0000 (16:47 -0700)]
Added Mono.Tasklets test

7 years ago[debugger-agent] Regression test for #42625
Aleksey Kliger [Mon, 25 Jul 2016 21:25:33 +0000 (17:25 -0400)]
[debugger-agent] Regression test for #42625

Check that we can suspend I/O blocked threadpool workers in coop GC mode.

7 years ago[ci] Don't cd in run-test-acceptance-tests.sh
Alexander Köplinger [Mon, 25 Jul 2016 22:43:03 +0000 (00:43 +0200)]
[ci] Don't cd in run-test-acceptance-tests.sh

The other scripts like TESTCMD rely on paths being based off of the repo root.

7 years ago[ci] Fix typo in run-jenkins.sh
Alexander Köplinger [Mon, 25 Jul 2016 21:44:37 +0000 (23:44 +0200)]
[ci] Fix typo in run-jenkins.sh

7 years agoRemap the Compact Framework PublicKeyToken for assemblies it ships.
Vincent Povirk [Mon, 25 Jul 2016 21:17:50 +0000 (16:17 -0500)]
Remap the Compact Framework PublicKeyToken for assemblies it ships.

7 years agoMerge pull request #3324 from alexanderkyte/threads_unhandled_exc
Alexander Kyte [Mon, 25 Jul 2016 20:32:29 +0000 (16:32 -0400)]
Merge pull request #3324 from alexanderkyte/threads_unhandled_exc

[runtime] Call unhandled exception handler explicitly to fix for bitcode

7 years ago[acceptance-tests] Remove folders from Roslyn script that we now ship after 8f130a6e1...
Alexander Köplinger [Mon, 25 Jul 2016 20:31:05 +0000 (22:31 +0200)]
[acceptance-tests] Remove folders from Roslyn script that we now ship after 8f130a6e17c372

7 years ago[ci] Move acceptance-tests script from Jenkins into the repo
Alexander Köplinger [Mon, 25 Jul 2016 20:05:02 +0000 (22:05 +0200)]
[ci] Move acceptance-tests script from Jenkins into the repo

Yay, less state on Jenkins!

7 years agoBump Mono version to 4.7.0
Alexander Köplinger [Mon, 25 Jul 2016 19:02:24 +0000 (21:02 +0200)]
Bump Mono version to 4.7.0

7 years ago[sgen] Fix and simplify some debugging stuff.
Mark Probst [Sat, 2 Apr 2016 22:08:16 +0000 (15:08 -0700)]
[sgen] Fix and simplify some debugging stuff.

7 years ago[sgen] Document sgen-copy-object.h
Mark Probst [Sat, 2 Apr 2016 15:40:37 +0000 (08:40 -0700)]
[sgen] Document sgen-copy-object.h

7 years ago[sgen] Fix major collection time accounting.
Mark Probst [Wed, 30 Mar 2016 21:05:28 +0000 (14:05 -0700)]
[sgen] Fix major collection time accounting.

This was from when we did a nursery collection as part of the
finishing collection pause.  Now that we don't do that anymore, we
underaccount major collection times.

7 years ago[sgen] Only do fence when concurrent collection is running.
Mark Probst [Wed, 1 Jun 2016 23:37:28 +0000 (16:37 -0700)]
[sgen] Only do fence when concurrent collection is running.

The store/store fence incurs quite a high cost, so we only want it to
run when absolutely necessary.  The most efficient way is to
separately compile nursery object operations for when the concurrent
collector is running, so there has to be no dynamic check.

In the future we might want to try batching updates of references to
moved objects so we have to do only one fence per batch.

7 years ago[sgen] Missing store/store fence.
Mark Probst [Sun, 3 Apr 2016 15:26:42 +0000 (08:26 -0700)]
[sgen] Missing store/store fence.

7 years ago[sgen] Fix whole heap check.
Mark Probst [Sat, 2 Apr 2016 03:04:37 +0000 (20:04 -0700)]
[sgen] Fix whole heap check.

7 years ago[sgen] Make unnecessary stack check into assertion.
Mark Probst [Tue, 29 Mar 2016 23:03:10 +0000 (16:03 -0700)]
[sgen] Make unnecessary stack check into assertion.

7 years ago[sgen] Don't crash in binary protocol flush when forcing.
Mark Probst [Thu, 31 Mar 2016 19:22:43 +0000 (12:22 -0700)]
[sgen] Don't crash in binary protocol flush when forcing.

7 years ago[sgen] Flush binary protocol buffers when missing remsets.
Mark Probst [Thu, 31 Mar 2016 19:07:05 +0000 (12:07 -0700)]
[sgen] Flush binary protocol buffers when missing remsets.

The missing remset check uses the binary protocol to log missing
remsets it found.  Debugging is easier if we don't have to manually
flush the binary protocol.

7 years ago[sgen] Remove stupid typedef.
Mark Probst [Tue, 29 Mar 2016 22:21:23 +0000 (15:21 -0700)]
[sgen] Remove stupid typedef.

7 years ago[sgen] Get rid of the global gray queue.
Mark Probst [Tue, 29 Mar 2016 22:04:01 +0000 (15:04 -0700)]
[sgen] Get rid of the global gray queue.

7 years ago[sgen] Pass GC thread gray queue into jobs.
Mark Probst [Tue, 29 Mar 2016 20:58:37 +0000 (13:58 -0700)]
[sgen] Pass GC thread gray queue into jobs.

7 years ago[sgen] Don't expose the worker's gray queue.
Mark Probst [Tue, 29 Mar 2016 20:02:11 +0000 (13:02 -0700)]
[sgen] Don't expose the worker's gray queue.

7 years ago[sgen] Give remset consistency check a proper name, and do it more often.
Mark Probst [Thu, 31 Mar 2016 04:04:44 +0000 (21:04 -0700)]
[sgen] Give remset consistency check a proper name, and do it more often.

7 years ago[sgen] Don't be too fussy about missing remsets to pinned objects.
Mark Probst [Thu, 31 Mar 2016 03:55:48 +0000 (20:55 -0700)]
[sgen] Don't be too fussy about missing remsets to pinned objects.

If a thread is interrupted after a reference write but before the corresponding
write barrier, the remset will be missing, but the object will be pinned.

7 years ago[runtime] Call unhandled exception handler explicitly to fix for bitcode
Alexander Kyte [Sat, 23 Jul 2016 06:41:11 +0000 (02:41 -0400)]
[runtime] Call unhandled exception handler explicitly to fix for bitcode

7 years agoMerge pull request #3325 from alexanderkyte/fix_bitcode_mini
Alexander Kyte [Mon, 25 Jul 2016 16:02:07 +0000 (12:02 -0400)]
Merge pull request #3325 from alexanderkyte/fix_bitcode_mini

[mobile_static] Pass correct MONO_LLVMONLY for bitcode script

7 years ago[bcl] Implement System.Text.Encoding.CodePages.CodepagesEncodingProvider in the facade
Alexander Köplinger [Mon, 25 Jul 2016 12:05:16 +0000 (14:05 +0200)]
[bcl] Implement System.Text.Encoding.CodePages.CodepagesEncodingProvider in the facade

7 years agoFix Windows build broken in 2c061c18852
Alexander Köplinger [Mon, 25 Jul 2016 10:32:13 +0000 (12:32 +0200)]
Fix Windows build broken in 2c061c18852

7 years ago[runtime] Implement the GC domain finalization event using conditional variables...
Zoltan Varga [Sun, 24 Jul 2016 21:19:27 +0000 (17:19 -0400)]
[runtime] Implement the GC domain finalization event using conditional variables instead of an io-layer event. (#3316)

7 years ago[mobile_static] Pass correct MONO_LLVMONLY for bitcode
Alexander Kyte [Sun, 24 Jul 2016 06:46:23 +0000 (02:46 -0400)]
[mobile_static] Pass correct MONO_LLVMONLY for bitcode

7 years ago[runtime] Abort instead of stopping background threads on shutdown. Hopefully fixes...
Zoltan Varga [Fri, 22 Jul 2016 22:25:59 +0000 (18:25 -0400)]
[runtime] Abort instead of stopping background threads on shutdown. Hopefully fixes #41644. (#3323)

7 years ago[System]: Fix SystemCertificateValidator.EvaluateSystem() on Android. Fixes #41290.
Martin Baulig [Wed, 20 Jul 2016 21:06:03 +0000 (17:06 -0400)]
[System]: Fix SystemCertificateValidator.EvaluateSystem() on Android.  Fixes #41290.

After the latest code changes, we may land here with `errors == SslPolicyErrors.None`,
so we need to make sure that we actually set it to `RemoteCertificateChainErrors` if
the system validator returns an error.

(cherry picked from commit b4304354b149334e5ddd11c4c143aac64f46fe03)

7 years agoMerge pull request #3318 from akoeplinger/cleaner-mini-nunit
Alexander Köplinger [Fri, 22 Jul 2016 12:20:45 +0000 (14:20 +0200)]
Merge pull request #3318 from akoeplinger/cleaner-mini-nunit

[mini] Explicitly turn nunit output on or off based on variable

7 years agoMerge pull request #3319 from akoeplinger/fix-mono.csharp
Alexander Köplinger [Thu, 21 Jul 2016 23:46:28 +0000 (01:46 +0200)]
Merge pull request #3319 from akoeplinger/fix-mono.csharp

[Mono.CSharp] Fix test .sources to include ASTVisitorTest.cs

7 years agoMerge pull request #3322 from grendello/offsets-tool-xa
João Matos [Thu, 21 Jul 2016 23:44:38 +0000 (00:44 +0100)]
Merge pull request #3322 from grendello/offsets-tool-xa

Modify the offsets dumper to work with Xamarin.Android

7 years ago[sgen] Fix build
Vlad Brezae [Thu, 21 Jul 2016 23:15:28 +0000 (02:15 +0300)]
[sgen] Fix build

7 years agoModify the offsets dumper to work with Xamarin.Android
Marek Habersack [Thu, 21 Jul 2016 22:35:17 +0000 (00:35 +0200)]
Modify the offsets dumper to work with Xamarin.Android

This is a handful of quick and dirty changes to make the utility
work with Xamarin.Android which uses a different directory layout
than monodroid.

7 years agoMerge pull request #3289 from BrzVlad/fix-critical-finalizer
Rodrigo Kumpera [Thu, 21 Jul 2016 22:35:06 +0000 (15:35 -0700)]
Merge pull request #3289 from BrzVlad/fix-critical-finalizer

[sgen] Fix critical/normal finalization order at domain unload

7 years agoMerge pull request #3321 from BrzVlad/fix-block-state-membar
Rodrigo Kumpera [Thu, 21 Jul 2016 22:34:41 +0000 (15:34 -0700)]
Merge pull request #3321 from BrzVlad/fix-block-state-membar

[sgen] Add missing memory barrier

7 years agoMerge pull request #3290 from BrzVlad/fix-finalizer-tests
Rodrigo Kumpera [Thu, 21 Jul 2016 22:32:18 +0000 (15:32 -0700)]
Merge pull request #3290 from BrzVlad/fix-finalizer-tests

[tests] Fix finalizer tests

7 years ago[mini] Explicitly turn nunit output on or off based on variable
Alexander Köplinger [Thu, 21 Jul 2016 20:30:47 +0000 (22:30 +0200)]
[mini] Explicitly turn nunit output on or off based on variable

Alternative implementation to 8f092147bb604485c78c80b9781536ec995d51fe.

In CI we explicitly pass EMIT_NUNIT=1 and check-seq-points to generate the nunit xml and run the tests,
locally those are omitted. This avoids needing to sniff for Jenkins/Wrench variables.

Same for a9eec21d62ecd1da3929cdbfea872bfc4d22134b, but we already pass V=1 in Jenkins.

7 years ago[sgen] Add missing memory barrier
Vlad Brezae [Thu, 21 Jul 2016 21:43:40 +0000 (00:43 +0300)]
[sgen] Add missing memory barrier

When doing the first phase of sweeping we tag the block pointer within the block list with a CAS, after which we own the block and we are free to update the state and do sweep computations on the block. When we finish this phase we directly write the untagged block pointer back in the list, making the block available to inspect by other threads. We need a write barrier before writting the untagged pointer back because, when another thread might acquire the block, it might encounter an invalid block state.

7 years ago[runtime] Decrease the verbosity of the runtime test runner when not running under CI.
Zoltan Varga [Thu, 21 Jul 2016 22:12:15 +0000 (18:12 -0400)]
[runtime] Decrease the verbosity of the runtime test runner when not running under CI.

7 years ago[Mono.CSharp] Fix test .sources to include ASTVisitorTest.cs
Alexander Köplinger [Thu, 21 Jul 2016 20:57:21 +0000 (22:57 +0200)]
[Mono.CSharp] Fix test .sources to include ASTVisitorTest.cs

I noticed this while looking at why Mono.CSharp is registered as "crashed" in the the new
fullaot PR job on Jenkins. It turns out all tests were excluded in mobile_static which means
no NUnit xml was produced and that is exactly what the script then interprets as a crash.

I saw that ASTVisitorTest.cs was not included in the net_4_x tests as well, likely inadvertently.
It got bitrotten over the years so I had to fix it up a bit, now it compiles/runs on mobile_static as well.

7 years ago[ji] Run the mini tests without the emitnunit.pl script when not running under CI.
Zoltan Varga [Thu, 21 Jul 2016 19:44:01 +0000 (15:44 -0400)]
[ji] Run the mini tests without the emitnunit.pl script when not running under CI.

7 years ago[versions.mk] Make path to SUBMODULES.json based on srcdir (#3314)
Alexander Köplinger [Thu, 21 Jul 2016 17:49:26 +0000 (19:49 +0200)]
[versions.mk] Make path to SUBMODULES.json based on srcdir (#3314)

Since acceptance-tests/Makefile (and llvm/Makefile) include scripts/submodules/versions.mk which evals versions.py which looks
for a SUBMODULES.json file in the current working directory we got confusing error messages if the build directory is not the src dir:

```
Traceback (most recent call last):
  File "../../mono/scripts/submodules/versions.py", line 22, in <module>
    submodules = json.load(open(CONFIG_FILE))
IOError: [Errno 2] No such file or directory: 'SUBMODULES.json'
```

Instead we now pass the path to SUBMODULES.json as a variable to versions.py and set it based on $(top_srcdir) so it works
even for out-of-tree builds.

7 years ago[runtime] Make AOT'ed TestDriver.dll dependency for builds (#3303)
Alexander Kyte [Thu, 21 Jul 2016 17:49:15 +0000 (13:49 -0400)]
[runtime] Make AOT'ed TestDriver.dll dependency for builds (#3303)

7 years ago[mini] Fail methods that try to throw scalars. Fix hard crash from #42417. (#3312)
Rodrigo Kumpera [Thu, 21 Jul 2016 17:48:34 +0000 (10:48 -0700)]
[mini] Fail methods that try to throw scalars. Fix hard crash from #42417. (#3312)

7 years ago[mobile_static] Use clang++ for the linker (#3308)
Alexander Kyte [Thu, 21 Jul 2016 17:47:19 +0000 (13:47 -0400)]
[mobile_static] Use clang++ for the linker (#3308)

In order for our exception handling to work on linux, we need the
unwind-dw2-fde-dip implementation in libgcc to work with our
.o file. This requires that `--eh-frame-hdr` be passed by the linker.

By using clang++ as the linker, we will get this and other flags
necessary for correct interop with c++ libraries.

7 years agoMerge pull request #3305 from esdrubal/response_stream_close
Marcos Henrich [Thu, 21 Jul 2016 11:43:26 +0000 (12:43 +0100)]
Merge pull request #3305 from esdrubal/response_stream_close

[System] Fix RequestCanceled ex on ResponseStream.Close

7 years agoMerge pull request #3306 from kumpera/fix_wait
Rodrigo Kumpera [Thu, 21 Jul 2016 00:58:12 +0000 (17:58 -0700)]
Merge pull request #3306 from kumpera/fix_wait

[wapi] Fix timed wait code to not overflow. Fixes #42688

7 years ago[runtime] Only add Mono.Dynamic.Interpreter to mobile_static (#3302)
Alexander Kyte [Wed, 20 Jul 2016 20:08:09 +0000 (16:08 -0400)]
[runtime] Only add Mono.Dynamic.Interpreter to mobile_static (#3302)

7 years agoMerge pull request #3307 from alexanderkyte/aot_path
Alexander Kyte [Wed, 20 Jul 2016 19:18:38 +0000 (15:18 -0400)]
Merge pull request #3307 from alexanderkyte/aot_path

[mobile_static] Fix temp path for mcs/class AOT

7 years ago[mobile_static] Fix temp path for mcs/class AOT
Alexander Kyte [Tue, 12 Jul 2016 17:26:06 +0000 (13:26 -0400)]
[mobile_static] Fix temp path for mcs/class AOT

7 years ago[wapi] Fix timed wait code to not overflow. Fixes #42688
Rodrigo Kumpera [Wed, 20 Jul 2016 17:41:15 +0000 (10:41 -0700)]
[wapi] Fix timed wait code to not overflow. Fixes #42688

Wait math must always subtract ticks and get deltas. That way we avoid overflows.

7 years ago[System] Fix RequestCanceled ex on ResponseStream.Close
Marcos Henrich [Wed, 20 Jul 2016 16:11:30 +0000 (17:11 +0100)]
[System] Fix RequestCanceled ex on ResponseStream.Close

Fixes issues where ResponseStream.Close would throw an exception when
peer had already closed the connection and ResponseStream.Close would
still try to communicating to peer that it was closing.

The issue was brought to our attention by failures on:
  - MonoTests.System.Net.WebRequestTest.TestReceiveCancelation
  - MonoTests.System.Net.HttpWebRequestTest.TestLargeDataReading

7 years ago[amd64] Rewrite the handler block trampoline to use normal calls instead of jumps...
Zoltan Varga [Wed, 20 Jul 2016 16:17:38 +0000 (12:17 -0400)]
[amd64] Rewrite the handler block trampoline to use normal calls instead of jumps so the functions called from the calls execute with an aligned stack.

7 years ago[tests] Disable some more tests in the mobile_static profile.
Zoltan Varga [Wed, 20 Jul 2016 16:15:28 +0000 (12:15 -0400)]
[tests] Disable some more tests in the mobile_static profile.

7 years ago[runtime] Add a missing mono_error_init () in a DISABLE_APPDOMAINS codepath.
Zoltan Varga [Wed, 20 Jul 2016 15:26:00 +0000 (11:26 -0400)]
[runtime] Add a missing mono_error_init () in a DISABLE_APPDOMAINS codepath.

7 years ago[amd64] Fix stack alignment in the handler block trampoline.
Zoltan Varga [Wed, 20 Jul 2016 12:00:11 +0000 (08:00 -0400)]
[amd64] Fix stack alignment in the handler block trampoline.

7 years ago[tests] Remove double inclusion of source file
Vlad Brezae [Thu, 14 Jul 2016 00:55:51 +0000 (03:55 +0300)]
[tests] Remove double inclusion of source file

7 years ago[tests] Fix flakiness on some tests that assume object finalization
Vlad Brezae [Thu, 14 Jul 2016 00:41:01 +0000 (03:41 +0300)]
[tests] Fix flakiness on some tests that assume object finalization

A common pattern that we use across the test suite is to create objects on a new thread, join the thread, collect then expect certain objects to be dead/finalized since we assumed that thread to be no longer a source of pinning. This is not always the case since, after joining, the thread might still be alive and running unmanaged code related to the thread shutdown, which can reuse the stack that previously contained the managed references.

The workaround is to still allocate objects far down the stack, even if we are on a separate thread.

At the moment the helper can be used in tests which run under the TestDriver (since it's included in TestDriver.dll) and can also be included as a helper source for test bcl classes that need it.

7 years agoMerge pull request #3304 from kumpera/unlimited-abort
Rodrigo Kumpera [Wed, 20 Jul 2016 07:06:56 +0000 (00:06 -0700)]
Merge pull request #3304 from kumpera/unlimited-abort

Change suspend abort timeout to infinite and fix timeout env

7 years agoRevert "[Facades] Add System.Runtime.InteropServices.PInvoke"
Marek Safar [Wed, 20 Jul 2016 05:18:55 +0000 (22:18 -0700)]
Revert "[Facades] Add System.Runtime.InteropServices.PInvoke"

This reverts commit 6d13f594fa39a4d7dedeab278192d48c5b563fa9.

7 years ago[Facades] Add System.Runtime.InteropServices.PInvoke
Marek Safar [Wed, 20 Jul 2016 05:13:42 +0000 (22:13 -0700)]
[Facades] Add System.Runtime.InteropServices.PInvoke

7 years ago[mono-threads] Change suspend abort timeout to infinite and fix timeout env var parsing.
Rodrigo Kumpera [Wed, 20 Jul 2016 01:06:53 +0000 (18:06 -0700)]
[mono-threads] Change suspend abort timeout to infinite and fix timeout env var parsing.

7 years ago[utils] Introduce MONO_INFINITE_WAIT instead of checking for -1 all over the place.
Rodrigo Kumpera [Wed, 20 Jul 2016 01:05:37 +0000 (18:05 -0700)]
[utils] Introduce MONO_INFINITE_WAIT instead of checking for -1 all over the place.

7 years agoMerge pull request #3300 from esdrubal/mono-sym-fixes
Alexander Köplinger [Wed, 20 Jul 2016 01:03:13 +0000 (03:03 +0200)]
Merge pull request #3300 from esdrubal/mono-sym-fixes

[mono-symbolicate] Fixes symbolicate.expected

7 years ago[tests] Disable tests which are expected to fail in the mobile_static profile.
Zoltan Varga [Tue, 19 Jul 2016 23:09:46 +0000 (19:09 -0400)]
[tests] Disable tests which are expected to fail in the mobile_static profile.