mono.git
8 years ago[acceptance-tests] Integrate Roslyn, CoreCLR and ms-test-suite into acceptance-tests
Alexander Köplinger [Mon, 19 Oct 2015 15:06:46 +0000 (17:06 +0200)]
[acceptance-tests] Integrate Roslyn, CoreCLR and ms-test-suite into acceptance-tests

This commit integrates the CoreCLR, Roslyn and ms-test-suite (which is Xamarin-internal, but should just print a warning for someone without access).
Running the tests suites can be done with 'make check-coreclr', 'make check-roslyn' and 'make check-ms-test-suite', or all of them with make check in the acceptance-tests folder.
They won't run on a top-level make check though, which is intended until every test suite is fixed.

This uses a custom submodule system that doesn't rely on git submodules (which are annoying when the repo is large and we only need them for tests). Instead we can fetch repositories on demand.

History (before squashing into smaller chunks):

- Rename check-{testsuite} make target to validate-{testsuite}. The former can be easily confused with the "check" target that runs the tests.
- Move acceptance-tests Makefile to automake, so we can avoid hardcoding paths
- Copy System.Console facade to CoreCLR IL test directories. Otherwise most of the IL tests fail as they rely on the System.Console assembly reference.
- Update README.md to mention the tests
- Use $(MAKE) instead of plain make and pass -C instead of cd'ing to directory
- Exit when the repository can't be cloned and print a note about the ms-test-suite repo. The ms-test-suite repo is Xamarin-internal so it'll error out in public.
- Integrate MS CoreCLR runtime tests into Mono's test infrastructure
- Get rid of intermediate msg file and pipe straight to git
- Rename README to CONFIG since we don't store metadata in readme.md anymore
- Fix comparison in versions.mk to be sh compliant. It relied on bashism before.

8 years ago[acceptance-tests] Add code from xamarin/mono extensions branch
Zoltan Varga [Wed, 7 Oct 2015 14:32:13 +0000 (16:32 +0200)]
[acceptance-tests] Add code from xamarin/mono extensions branch

This provides a "git submodule"-like tool which can be used to
checkout optional repositories.

8 years ago[tests] Add a new --testsuite-name parameter to managed test runner
Alexander Köplinger [Mon, 19 Oct 2015 14:36:58 +0000 (16:36 +0200)]
[tests] Add a new --testsuite-name parameter to managed test runner

Use it for the gshared tests, they were all (over-)writing the same TestResults_runtime.xml before.

8 years ago[tests] Add a new --expected-exit-code option to the managed test-runner
Alexander Köplinger [Mon, 19 Oct 2015 14:33:54 +0000 (16:33 +0200)]
[tests] Add a new --expected-exit-code option to the managed test-runner

8 years agoMerge pull request #2136 from esdrubal/uridotsegment
Marcos Henrich [Mon, 19 Oct 2015 13:01:30 +0000 (14:01 +0100)]
Merge pull request #2136 from esdrubal/uridotsegment

[System] Fixed dots trimmed from segments.

8 years agojit] Replace a few more #ifdefs with flags.
Zoltan Varga [Mon, 19 Oct 2015 03:48:45 +0000 (23:48 -0400)]
jit] Replace a few more #ifdefs with flags.

8 years agoFix the build.
Zoltan Varga [Sun, 18 Oct 2015 23:59:19 +0000 (19:59 -0400)]
Fix the build.

8 years ago[jit] Add a new MonoBackend structure which will contain backend constants/functions...
Zoltan Varga [Sun, 18 Oct 2015 23:03:07 +0000 (19:03 -0400)]
[jit] Add a new MonoBackend structure which will contain backend constants/functions. Move the arch specific flags from MonoCompile to this structure.

8 years agojit] Replace a few more #ifdefs with MonoCompile flags.
Zoltan Varga [Sun, 18 Oct 2015 03:24:07 +0000 (23:24 -0400)]
jit] Replace a few more #ifdefs with MonoCompile flags.

8 years ago[jit] Replace a few more #ifdefs with MonoCompile flags.
Zoltan Varga [Sun, 18 Oct 2015 01:13:03 +0000 (21:13 -0400)]
[jit] Replace a few more #ifdefs with MonoCompile flags.

8 years ago[jit] Replace a few arch-specific #ifdef blocks with MonoCompile flags.
Zoltan Varga [Sun, 18 Oct 2015 00:55:24 +0000 (20:55 -0400)]
[jit] Replace a few arch-specific #ifdef blocks with MonoCompile flags.

8 years ago[jit] Add flags to MonoCompile to allow the removal of arch-specific ifdefs from...
Zoltan Varga [Sun, 18 Oct 2015 00:45:54 +0000 (20:45 -0400)]
[jit] Add flags to MonoCompile to allow the removal of arch-specific ifdefs from the jit code. Add a mini_init_cfg () function to initialize them using the arch defines.

8 years ago[threads] Fix another sleep compilation error on win32
Alexander Köplinger [Sat, 17 Oct 2015 19:42:44 +0000 (12:42 -0700)]
[threads] Fix another sleep compilation error on win32

One case was missed in 2ad1993b516244d0ae242a2eaa795d561f8ac02a

8 years agoMake the thread dump code safe by doing only async safe operations when a thread...
Zoltan Varga [Sat, 17 Oct 2015 05:37:47 +0000 (01:37 -0400)]
Make the thread dump code safe by doing only async safe operations when a thread is suspended.

8 years ago[threads] Fix sleep compilation error on win32
Ludovic Henry [Sat, 17 Oct 2015 17:54:57 +0000 (18:54 +0100)]
[threads] Fix sleep compilation error on win32

8 years agoMerge pull request #2139 from akoeplinger/symbolicate-test-fix
Marcos Henrich [Sat, 17 Oct 2015 15:57:10 +0000 (16:57 +0100)]
Merge pull request #2139 from akoeplinger/symbolicate-test-fix

[mono-symbolicate] Skip tests if AOT isn't supported by the current arch

8 years agoFixes build
Marek Safar [Sat, 17 Oct 2015 07:16:24 +0000 (09:16 +0200)]
Fixes build

8 years agoMerge pull request #2144 from dlech/patch-1
Zoltan Varga [Sat, 17 Oct 2015 04:29:03 +0000 (00:29 -0400)]
Merge pull request #2144 from dlech/patch-1

Fix filename in header

8 years agoFix filename in header
David Lechner [Sat, 17 Oct 2015 02:09:36 +0000 (21:09 -0500)]
Fix filename in header

8 years ago[amd64] Allow returning of structs in register pairs.
Zoltan Varga [Sat, 17 Oct 2015 00:05:05 +0000 (20:05 -0400)]
[amd64] Allow returning of structs in register pairs.

8 years ago[llvm] Fix returning of values in a register pair.
Zoltan Varga [Sat, 17 Oct 2015 00:04:21 +0000 (20:04 -0400)]
[llvm] Fix returning of values in a register pair.

8 years ago[llvm] Fix JIT support.
Zoltan Varga [Fri, 16 Oct 2015 19:47:54 +0000 (15:47 -0400)]
[llvm] Fix JIT support.

8 years ago[runtime] Disable the emission of stubs debug info on apple, its no longer supported...
Zoltan Varga [Fri, 16 Oct 2015 19:47:38 +0000 (15:47 -0400)]
[runtime] Disable the emission of stubs debug info on apple, its no longer supported by clang.

8 years agoMerge pull request #2143 from akoeplinger/refactor-mono-security-providers
Alexander Köplinger [Fri, 16 Oct 2015 22:14:47 +0000 (00:14 +0200)]
Merge pull request #2143 from akoeplinger/refactor-mono-security-providers

[Mono.Security.Providers] Refactor providers into distinct folders

8 years agoBump reference source
Marek Safar [Fri, 16 Oct 2015 22:10:23 +0000 (00:10 +0200)]
Bump reference source

8 years ago[corlib] Implement UnsafeEnumCastLong
Marek Safar [Fri, 16 Oct 2015 22:08:30 +0000 (00:08 +0200)]
[corlib] Implement UnsafeEnumCastLong

8 years ago[bcl] Update to 4.6 referencesource
Marek Safar [Fri, 16 Oct 2015 21:32:35 +0000 (23:32 +0200)]
[bcl] Update to 4.6 referencesource

8 years ago[Mono.Security.Providers] Refactor providers into distinct folders
Alexander Köplinger [Fri, 16 Oct 2015 20:11:33 +0000 (22:11 +0200)]
[Mono.Security.Providers] Refactor providers into distinct folders

Build the two libraries Mono.Security.Providers.DotNet and Mono.Security.Providers.NewSystemSource just like
every other class library instead of duplicating the logic into the subfolders.

This also fixes "make dist".

8 years ago[WinForms] ComboBox, ListBox and TextBox should use Control Foreground+Background
Marek Habersack [Fri, 16 Oct 2015 19:39:29 +0000 (21:39 +0200)]
[WinForms] ComboBox, ListBox and TextBox should use Control Foreground+Background

They have been using Window Foreground+Background so far which make them unreadable
on systms with dark themes. This change makes them behave.

8 years ago[TLS]: Make ValidationResult.MonoSslPolicyErrors nullable.
Martin Baulig [Tue, 13 Oct 2015 21:56:35 +0000 (17:56 -0400)]
[TLS]: Make ValidationResult.MonoSslPolicyErrors nullable.

(cherry picked from commit abfac54c47312c00f22fffef821f8889cbc67098)
(cherry picked from commit ccb7bfc930f4265b685eada8e73ee81acaae5963)

8 years ago[System]: Remove the TrustEvaluateSsl(MX.X509CertificateCollection...) overloads.
Martin Baulig [Fri, 16 Oct 2015 16:36:29 +0000 (12:36 -0400)]
[System]: Remove the TrustEvaluateSsl(MX.X509CertificateCollection...) overloads.

We now use SSCX.X509Certificate2Collection in ChainValidationHelper.

8 years agoMerge pull request #2141 from akoeplinger/fix-wrong-disableaot-define
João Matos [Fri, 16 Oct 2015 18:25:57 +0000 (19:25 +0100)]
Merge pull request #2141 from akoeplinger/fix-wrong-disableaot-define

[runtime] Rename DISABLE_AOT_COMPILER back to DISABLE_AOT

8 years ago[Process] Do not use Exited as it's racy with Start and BeginOutputReadLine/BeginErro...
Ludovic Henry [Fri, 16 Oct 2015 17:31:19 +0000 (18:31 +0100)]
[Process] Do not use Exited as it's racy with Start and BeginOutputReadLine/BeginErrorReadLine

The issue can arise if the Process is going to run faster than the call
between Start and BeginOutputReadLine/BeginErrorReadLine. To increase
the chance of the race happening, insert a Thread.Sleep (1000) between
Start and BeginOutputReadLine/BeginErrorReadLine.

This race exists because the WaitForExit in the background thread in the
Process, will first wait the process to finish, then try to wait for the
output to finish, but it will be null as BeginOutputReadLine has not been
called yet, then try to wait on error (same issue as output), and finally
call the Exited event, which will close the stdout and stderr TextWriter.
The call to BeginOutputReadLine and BeginErrorReadLine will finally happen
(which is still correct as the output and error of the Process has not
been closed yet), then calling the OutputDataReceived and ErrorDataReceived
callbacks which will try to write to the closed stdout and stderr
TextWriter.

Simply enqueuing a ThreadPool work item, which will wait for the process
to exit manually, simply resolve this issue, as we guarantee that the
call to WaitForExit happens after BeginOutputReadLine/BeginErrorReadLine,
and is not racing with it.

8 years ago[corlib] Add few reference source dependencies
Marek Safar [Fri, 16 Oct 2015 16:42:10 +0000 (18:42 +0200)]
[corlib] Add few reference source dependencies

8 years agoAll MARTIN_FIXME's have been taken care of.
Martin Baulig [Fri, 16 Oct 2015 16:33:02 +0000 (12:33 -0400)]
All MARTIN_FIXME's have been taken care of.

8 years ago[Mono.Security]: Check 'CertificateValidationHelper.SupportsX509Chain' before attempt...
Martin Baulig [Tue, 8 Sep 2015 13:46:54 +0000 (15:46 +0200)]
[Mono.Security]: Check 'CertificateValidationHelper.SupportsX509Chain' before attempting to compute the chain.

Computing the X509Chain is not supported on OS X and iOS because the OS does
not give us access to the root certificates - this would throw an Exception
at runtime.

(cherry picked from commit 44d34a17c1bf305e39bcfc277cc7add48560d899)
(cherry picked from commit 504328ec43d9d917c1f140ecf89f253ab2be39ec)

8 years agoForgot to remove one MARTIN_FIXME.
Martin Baulig [Fri, 16 Oct 2015 16:12:19 +0000 (12:12 -0400)]
Forgot to remove one MARTIN_FIXME.

8 years ago[msvc] Remove left over project guid from mono.sln
Alexander Köplinger [Fri, 16 Oct 2015 14:14:14 +0000 (16:14 +0200)]
[msvc] Remove left over project guid from mono.sln

The project was removed from the solution in 735fc51cc092ef89ca08b8304c582af0bf60b8e4, but one instance was missed.
This should fix the Windows build on Jenkins.

8 years ago[mono-symbolicate] Skip AOT tests if AOT isn't supported by the current arch
Alexander Köplinger [Fri, 16 Oct 2015 11:48:57 +0000 (13:48 +0200)]
[mono-symbolicate] Skip AOT tests if AOT isn't supported by the current arch

This fixes Jenkins errors on architectures like s390x which don't support AOT.

8 years ago[runtime] Rename DISABLE_AOT_COMPILER back to DISABLE_AOT
Alexander Köplinger [Fri, 16 Oct 2015 13:35:33 +0000 (15:35 +0200)]
[runtime] Rename DISABLE_AOT_COMPILER back to DISABLE_AOT

The original rename in c4aa103e486ac7116d78be3f3efecf49bfd29335 was done by accident,
the rest of the codebase still used the old name so disabling AOT didn't actually work.

Renaming this back to the original name and fix a few instances where methods weren't added
in the DISABLE_AOT case.

This allows a `--enable-minmal=aot` build to succeed and actually work.

8 years agoRevert "[process] Use same behavior as .NET"
Ludovic Henry [Fri, 16 Oct 2015 10:00:58 +0000 (11:00 +0100)]
Revert "[process] Use same behavior as .NET"

It broke the android build

This reverts commit c688b8c84ca3b26a1025a2194314183d2a880086.

8 years ago[runtime] Simplify the caching of gshared generic params now that they point to their...
Zoltan Varga [Fri, 16 Oct 2015 08:07:01 +0000 (04:07 -0400)]
[runtime] Simplify the caching of gshared generic params now that they point to their parent gparam.

8 years ago[runtime] Add a new MonoGSharedGenericParam structure as an extension of the MonoGene...
Zoltan Varga [Fri, 16 Oct 2015 07:58:31 +0000 (03:58 -0400)]
[runtime] Add a new MonoGSharedGenericParam structure as an extension of the MonoGenericParamFull structure, put the 'parent' field there.

8 years ago[amd64] Split the valuetype argument passing code into win64 and non-win64 versions...
Zoltan Varga [Fri, 16 Oct 2015 03:11:20 +0000 (23:11 -0400)]
[amd64] Split the valuetype argument passing code into win64 and non-win64 versions to simplify both.

8 years ago[aot] Create constrained gparams using the same mini_get_shared_gparam () function...
Zoltan Varga [Fri, 16 Oct 2015 00:13:59 +0000 (20:13 -0400)]
[aot] Create constrained gparams using the same mini_get_shared_gparam () function used by the rest of the code, so its properly unique-ed.

8 years ago[io-layer] Remove Sleep and SleepEx
Ludovic Henry [Thu, 9 Jul 2015 20:20:26 +0000 (17:20 -0300)]
[io-layer] Remove Sleep and SleepEx

8 years ago[io-layer] Remove GetCurrentThreadId
Ludovic Henry [Thu, 9 Jul 2015 19:18:07 +0000 (16:18 -0300)]
[io-layer] Remove GetCurrentThreadId

8 years ago[runtime] Remove dead code
Ludovic Henry [Fri, 10 Jul 2015 00:42:10 +0000 (21:42 -0300)]
[runtime] Remove dead code

8 years ago[sdb] Fix state initialization of suspended threads to work when the debugger thread...
Rodrigo Kumpera [Tue, 13 Oct 2015 22:33:00 +0000 (18:33 -0400)]
[sdb] Fix state initialization of suspended threads to work when the debugger thread is not attached. Fixes #34750

The problem happens because thread_interrupt runs in the debugger thread (suspend initiator).

thread_interrupt then calls mono_thread_state_init_from_monoctx which collects the state of the current thread
which is definitely not what we wanted.

There used to be some compensation code after calling mono_thread_state_init_from_monoctx to actually init the state properly.
This is why it worked, at all.

Thew problem is that the debugger thread now might not attach at all under some circumstances, which would trigger
mono_thread_state_init_from_monoctx to return FALSE and trip into the assert.

The fix is to simply not use mono_thread_state_init_from_monoctx at all, just copy the state from data. This fix has the
bonus of getting the domain correctly.

8 years agoMerge pull request #2113 from ludovic-henry/coop-socket-abort
Rodrigo Kumpera [Thu, 15 Oct 2015 18:56:40 +0000 (14:56 -0400)]
Merge pull request #2113 from ludovic-henry/coop-socket-abort

[socket] Make blocking syscall abortable on signal-less platforms

8 years agoMerge pull request #2123 from kumpera/verifier-fix
Rodrigo Kumpera [Thu, 15 Oct 2015 18:53:28 +0000 (14:53 -0400)]
Merge pull request #2123 from kumpera/verifier-fix

[verifier] Fix the verifiers to handle Roslyn style fixed blocks.

8 years agoFix MSVC build after 16570265149730ec6a4760cc0fa34decc1a9d981
Alexis Christoforides [Thu, 15 Oct 2015 18:27:49 +0000 (14:27 -0400)]
Fix MSVC build after 16570265149730ec6a4760cc0fa34decc1a9d981

8 years agoMerge pull request #2127 from joelmartinez/mdoc-multiassembly-squashed
Miguel de Icaza [Thu, 15 Oct 2015 18:00:16 +0000 (14:00 -0400)]
Merge pull request #2127 from joelmartinez/mdoc-multiassembly-squashed

[mdoc] `multiassembly` option for duplicated types

8 years ago[process] Use same behavior as .NET
Ludovic Henry [Thu, 15 Oct 2015 16:49:06 +0000 (17:49 +0100)]
[process] Use same behavior as .NET

8 years agoMerge pull request #2137 from fplucas/patch-1
João Matos [Thu, 15 Oct 2015 14:36:00 +0000 (15:36 +0100)]
Merge pull request #2137 from fplucas/patch-1

Fixing the broken icon of centos-s390x

8 years agoFixing the broken icon of centos-s390x
Lucas [Thu, 15 Oct 2015 14:32:17 +0000 (11:32 -0300)]
Fixing the broken icon of centos-s390x

8 years ago[System] Fixed dots trimmed from segments.
Marcos Henrich [Thu, 15 Oct 2015 14:01:27 +0000 (15:01 +0100)]
[System] Fixed dots trimmed from segments.

Before .NET 4.5 dots were trimmed from the end of uri path segments.

In .NET 4.5 IRI parsing is enabled by default and dot are no longer
trimmed from the end of path segments.

This commit disables dot trimming when Uri.IriParsing is true.

Fixes #29864.

8 years agoMerge pull request #2134 from akoeplinger/bug-34334
Alexander Köplinger [Thu, 15 Oct 2015 13:44:04 +0000 (15:44 +0200)]
Merge pull request #2134 from akoeplinger/bug-34334

[interpreter] Implement comparing string values in (Not)EqualInstruction

8 years ago[runtime] Switch ARM backend use to use g_print instead of printf.
João Matos [Thu, 15 Oct 2015 13:34:53 +0000 (14:34 +0100)]
[runtime] Switch ARM backend use to use g_print instead of printf.

Sorry about the churn, the previous commit contained an unintended chunk.

8 years agoRevert "[runtime] Switch ARM backend use to use g_print instead of printf."
João Matos [Thu, 15 Oct 2015 13:26:19 +0000 (14:26 +0100)]
Revert "[runtime] Switch ARM backend use to use g_print instead of printf."

This reverts commit 8e9f93be24f2b8b744f9ad31292f3f74a5caf411.

8 years ago[runtime] Switch ARM backend use to use g_print instead of printf.
João Matos [Thu, 15 Oct 2015 13:24:10 +0000 (14:24 +0100)]
[runtime] Switch ARM backend use to use g_print instead of printf.

8 years ago[runtime] Simplify ARM mono_arch_flush_icache.
João Matos [Wed, 14 Oct 2015 16:50:00 +0000 (17:50 +0100)]
[runtime] Simplify ARM mono_arch_flush_icache.

We do not support compiling with older versions of GCC anymore so most of this should be just dead code.

8 years ago[amd64] Remove the special casing of TYPEDBYREF in the amd64 backend, its not needed.
Zoltan Varga [Thu, 15 Oct 2015 04:28:56 +0000 (00:28 -0400)]
[amd64] Remove the special casing of TYPEDBYREF in the amd64 backend, its not needed.

8 years ago[llvmonly] Call methods in the same assembly directly.
Zoltan Varga [Thu, 15 Oct 2015 02:11:21 +0000 (22:11 -0400)]
[llvmonly] Call methods in the same assembly directly.

8 years ago[llvmonly] Update comments.
Zoltan Varga [Thu, 15 Oct 2015 00:42:32 +0000 (20:42 -0400)]
[llvmonly] Update comments.

8 years ago[llvmonly] Use the PreserveAll calling convention for the init functions.
Zoltan Varga [Thu, 15 Oct 2015 00:42:06 +0000 (20:42 -0400)]
[llvmonly] Use the PreserveAll calling convention for the init functions.

8 years ago[llvmonly] Factor out the initialization code into separate helper functions to save...
Zoltan Varga [Thu, 15 Oct 2015 00:21:53 +0000 (20:21 -0400)]
[llvmonly] Factor out the initialization code into separate helper functions to save space.

8 years ago[ppdb] Check that PE file timestamp as well when matching assemblies and pdb files.
Zoltan Varga [Wed, 14 Oct 2015 23:49:34 +0000 (19:49 -0400)]
[ppdb] Check that PE file timestamp as well when matching assemblies and pdb files.

8 years agoRevert "[System]: WebConnection: improve chunked reads and async callbacks."
Martin Baulig [Wed, 14 Oct 2015 23:25:54 +0000 (19:25 -0400)]
Revert "[System]: WebConnection: improve chunked reads and async callbacks."

This reverts commit 9027f0ad28bf733ebb8ac9964c78c22853ca93c7.

8 years ago[System/TLS]: Switch to the new ChainValidationHelper.
Martin Baulig [Wed, 14 Oct 2015 20:22:05 +0000 (16:22 -0400)]
[System/TLS]: Switch to the new ChainValidationHelper.

* Removed Mono.Security.Protocol.Tls.ValidationResult, use
  Mono.Security.Interface instead.  This is an API breaking
  change, but you can fix your application by simply adding
  the new using directive.

  The rationale behind this is to avoid a dependency on the
  Mono.Security.Protocol.Tls namespace when building and
  related classes when building the new TLS stack.

* Enable ChainValidationHelper in WebConnection, LegacySslStream
  and SslStream.

  The custom conditionals that were previously required for the
  mobile profiles are now gone as ChainValidationHelper already
  handles that internally.

* This is an internal API, the public front-end is
  Mono.Security.Interface.CertificateValidationHelper.

  CertificateValidationHelper can be used to access the system
  certificate validator on OS X and iOS; we do not compute the
  X509Chain on these platforms as it's not supported by the OS.

(cherry picked from commit 9713f35878dd90fe87423b5052b4f82ddc0b87f0)

8 years ago[llvmonly] Add more preinitialized got slots, refactor the code which emits them...
Zoltan Varga [Wed, 14 Oct 2015 21:54:34 +0000 (17:54 -0400)]
[llvmonly] Add more preinitialized got slots, refactor the code which emits them a little.

8 years ago[ppdb] Update to spec version v1.0. Fix decoding of line number info.
Zoltan Varga [Wed, 14 Oct 2015 20:25:29 +0000 (16:25 -0400)]
[ppdb] Update to spec version v1.0. Fix decoding of line number info.

8 years ago[ppdb] Update the code which checks whenever the assembly and the pdb files match...
Zoltan Varga [Wed, 14 Oct 2015 19:55:36 +0000 (15:55 -0400)]
[ppdb] Update the code which checks whenever the assembly and the pdb files match to spec v1.0.

8 years ago[System/TLS]: Add obsolete ChainValidationHelper.ctor(HttpWebRequest).
Martin Baulig [Wed, 14 Oct 2015 19:27:49 +0000 (15:27 -0400)]
[System/TLS]: Add obsolete ChainValidationHelper.ctor(HttpWebRequest).

This will be removed again laster, but allows us to do a two-step switch
by first switching to the new ChainValidationHelper, then switching to
MonoTlsProvider and friends.

(cherry picked from commit f2e98e82f04dbaa72e48c37d72407000c197fbcb)

8 years ago[System]: API cleanup; make MonoTlsStream.SelectClientCertificate() private static.
Martin Baulig [Wed, 14 Oct 2015 19:24:03 +0000 (15:24 -0400)]
[System]: API cleanup; make MonoTlsStream.SelectClientCertificate() private static.

(cherry picked from commit 8a79bdc2add36cb3da2834dc371499fd94d1737f)
(cherry picked from commit 13168150a77f722afee51df86ba029c91f21ee0c)

8 years ago[interpreter] Implement comparing string values in (Not)EqualInstruction
Alexander Köplinger [Wed, 14 Oct 2015 19:22:59 +0000 (21:22 +0200)]
[interpreter] Implement comparing string values in (Not)EqualInstruction

When comparing a string with null the other checks in the interpreter for type equality didn't catch this case
and this ultimately resulted in a NotImplementedException in EqualInstruction and NotEqualInstruction.

The fix is to handle the TypeCode.String case in those instructions.
We don't need to do it for CreateLifted() as that method only applies for Nullable<T> types which doesn't make sense for string.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=34334

8 years ago[System]: WebConnection: improve chunked reads and async callbacks.
Martin Baulig [Fri, 22 May 2015 03:11:14 +0000 (05:11 +0200)]
[System]: WebConnection: improve chunked reads and async callbacks.

Make sure we always complete the async operations on error and
also send callbacks outside the lock.

(cherry picked from commit 9027f0ad28bf733ebb8ac9964c78c22853ca93c7)

8 years agoFix the build.
Zoltan Varga [Wed, 14 Oct 2015 19:17:44 +0000 (15:17 -0400)]
Fix the build.

8 years ago[runtime] Fix the configure check for stdc++/c++.
Zoltan Varga [Wed, 14 Oct 2015 18:46:40 +0000 (14:46 -0400)]
[runtime] Fix the configure check for stdc++/c++.

8 years ago[aot] Fix the build when llvm is not enabled.
Zoltan Varga [Wed, 14 Oct 2015 17:08:21 +0000 (13:08 -0400)]
[aot] Fix the build when llvm is not enabled.

8 years ago[runtime] Reworked coop GC stack handling in platforms with restricted access to...
João Matos [Thu, 1 Oct 2015 16:38:38 +0000 (17:38 +0100)]
[runtime] Reworked coop GC stack handling in platforms with restricted access to register contexts.

8 years agoMerge pull request #2106 from lambdageek/dev/bug-29108-part1
João Matos [Wed, 14 Oct 2015 15:34:31 +0000 (16:34 +0100)]
Merge pull request #2106 from lambdageek/dev/bug-29108-part1

GetCallingAssembly() skip past reflection. Fix #29108 - part 1

8 years agoTest that Assembly.GetCallingAssembly() skips MethodBase.Invoke()
Aleksey Kliger [Mon, 5 Oct 2015 15:28:42 +0000 (11:28 -0400)]
Test that Assembly.GetCallingAssembly() skips MethodBase.Invoke()

8 years agoGetCallingAssembly() skip past reflection. Fix #29108 - part 1
Aleksey Kliger [Fri, 2 Oct 2015 18:01:28 +0000 (14:01 -0400)]
GetCallingAssembly() skip past reflection. Fix #29108 - part 1

8 years ago[runtime] Workaround signal() configure check in Android.
João Matos [Wed, 14 Oct 2015 14:17:57 +0000 (15:17 +0100)]
[runtime] Workaround signal() configure check in Android.

So, I broke this on Android back in https://github.com/mono/mono/commit/d3726dcde9ef373157cd533ce8091cdde89dfa8e.

Turns out signal() is defined inline in Android:

static __inline__ __sighandler_t signal(int s, __sighandler_t f)
{
    return bsd_signal(s,f);
}

So we need to hardcode the define in case we're on an Android platform.

Fixes BclTests on Android:

I/mono-stdout( 1200): UnixSignalTest
F/        ( 1200): signal() is not supported by this platform
F/libc    ( 1200): Fatal signal 6 (SIGABRT) at 0x000004b0 (code=-6), thread 1215 (Instrumentation)

8 years ago[llvmonly] Fix the build.
Zoltan Varga [Wed, 14 Oct 2015 05:54:01 +0000 (01:54 -0400)]
[llvmonly] Fix the build.

8 years ago[aot] Rework the handling of preinitialized got slots, instead of hardcoding their...
Zoltan Varga [Wed, 14 Oct 2015 05:44:58 +0000 (01:44 -0400)]
[aot] Rework the handling of preinitialized got slots, instead of hardcoding their offsets into the code, initialize them the same way the other got slots are initialized, by decoding a MonoJumpInfo structure for them, and resolving them using mono_resolve_patch_target ().

8 years ago[mscorlib] DateTime, DateTimeOffset, bring Unix time APIs from CoreCLR
Miguel de Icaza [Wed, 14 Oct 2015 03:05:24 +0000 (23:05 -0400)]
[mscorlib] DateTime, DateTimeOffset, bring Unix time APIs from CoreCLR

8 years ago[llvmonly] Skip initalization of methods if they only reference shared got entries.
Zoltan Varga [Wed, 14 Oct 2015 02:07:11 +0000 (22:07 -0400)]
[llvmonly] Skip initalization of methods if they only reference shared got entries.

8 years ago[llvmonly] Emit initialization code for a method only if it uses got slots or its...
Zoltan Varga [Wed, 14 Oct 2015 01:14:24 +0000 (21:14 -0400)]
[llvmonly] Emit initialization code for a method only if it uses got slots or its type has a cctor.

8 years ago[process] Wait for process completion before waiting for stdout/stderr
Ludovic Henry [Tue, 13 Oct 2015 18:24:05 +0000 (14:24 -0400)]
[process] Wait for process completion before waiting for stdout/stderr

This fixes a race condition between the calls to Start and
BeginOutputReadLine/BeginErrorReadLine. This was triggered by the fact
that the call to WaitForExit (in StartBackgroundWaitForExit called by
Start_noshell) could be faster that the call to
BeginOutputReadLine/BeginErrorReadLine, leading to a null async_output,
which would make the WaitForExit call not wait for the output to finish.
This could make the call to Exited happen before a call to
OutputDataReceived/ErrorDataReceived.

To trigger this issue more reliably, you can simply add a sleep at the
beginning of AddInput in ProcessAsyncReader.

8 years ago[runtime] Link against the same c++ standard library as used by llvm.
Zoltan Varga [Wed, 14 Oct 2015 00:32:39 +0000 (20:32 -0400)]
[runtime] Link against the same c++ standard library as used by llvm.

8 years agoRemove another MARTIN_FIXME.
Martin Baulig [Tue, 13 Oct 2015 21:32:27 +0000 (17:32 -0400)]
Remove another MARTIN_FIXME.

(cherry picked from commit 9737322c86939f1b5e0da085697bddb7827cc06d)

8 years ago[System]: Remove two MARTIN_FIXME's.
Martin Baulig [Tue, 13 Oct 2015 21:25:17 +0000 (17:25 -0400)]
[System]: Remove two MARTIN_FIXME's.

This adds ChainValidationHelper to the build, but it's not
actually used yet.

(cherry picked from commit 214bf577d36808fc8ffc050027376c37b8920346)

8 years ago[System]: Add AndroidPlatform.TrustEvaluateSsl(X509Certificate2Collection...) overload.
Martin Baulig [Tue, 13 Oct 2015 22:51:15 +0000 (18:51 -0400)]
[System]: Add AndroidPlatform.TrustEvaluateSsl(X509Certificate2Collection...) overload.

(cherry picked from commit 34eefeb172055f10d8d6ca7b91cb719cfe812b64)

8 years ago[System]: Add OSX509Certificates.TrustEvaluateSsl(X509Certificate2Collection,string...
Martin Baulig [Tue, 13 Oct 2015 21:02:37 +0000 (17:02 -0400)]
[System]: Add OSX509Certificates.TrustEvaluateSsl(X509Certificate2Collection,string) overload.

When switching to Mono.Net.Security.ChainValidationHelper, we will use
X509Certificate2Collection instead of MSX.X509CertificateCollection; keep
both version for the moment.

(cherry picked from commit 1f004d8e7a8391785d4ae8fcb0270f9be9d522c8)

8 years ago[System]: Use 'ServerCertValidationCallback' in ServicePointManager.
Martin Baulig [Tue, 13 Oct 2015 15:35:06 +0000 (11:35 -0400)]
[System]: Use 'ServerCertValidationCallback' in ServicePointManager.

This is a new internal wrapper class defined in
external/referencesource/System/net/System/Net/ServicePointManager.cs

It wraps the RemoteCertificateValidationCallback, capturing the
current ExecutionContext.

(cherry picked from commit c1695a55dc9a55f6b344bfc4c91991bd1f04c046)

8 years agoPut back "[Mono.Security.Providers]: Add to the top-level build."
Martin Baulig [Mon, 12 Oct 2015 22:21:07 +0000 (18:21 -0400)]
Put back "[Mono.Security.Providers]: Add to the top-level build."

This reverts commit f05603553e04c853685a3dfd063e4bd6c38afcf2.

8 years ago[Mono.Security/build]: Add custom monodroid_Mono.Security.dll.sources.
Martin Baulig [Mon, 12 Oct 2015 22:06:43 +0000 (18:06 -0400)]
[Mono.Security/build]: Add custom monodroid_Mono.Security.dll.sources.

Includes everything from Mono.Security.dll.sources except for the
new Mono.Security.Interface APIs, which are built inside System.dll
on mobile.

(cherry picked from commit df1adee67802417381280c097f3f8f17bbd48f66)

8 years agoAdd tests for #34598
Miguel de Icaza [Tue, 13 Oct 2015 18:48:55 +0000 (14:48 -0400)]
Add tests for #34598