mono.git
7 years agoMerge pull request #3968 from BrzVlad/fix-monitor-exception
Vlad Brezae [Thu, 17 Nov 2016 18:40:14 +0000 (20:40 +0200)]
Merge pull request #3968 from BrzVlad/fix-monitor-exception

[runtime] Fix monitor exception throwing

7 years agoMerge pull request #3979 from radical/fix-xbuild-tgt
Ankit Jain [Thu, 17 Nov 2016 18:22:49 +0000 (13:22 -0500)]
Merge pull request #3979 from radical/fix-xbuild-tgt

[xbuild] Handle a repeat build of a target, when building through ..

7 years ago[runtime] Add some printfs to help debug the g_assert (klass->instance_size == instan...
Zoltan Varga [Thu, 17 Nov 2016 18:06:33 +0000 (13:06 -0500)]
[runtime] Add some printfs to help debug the g_assert (klass->instance_size == instance_size); assert failure.

7 years ago[mcs] Fixes user operator extraction from shared list. Fixes #46806
Marek Safar [Thu, 17 Nov 2016 17:40:45 +0000 (18:40 +0100)]
[mcs] Fixes user operator extraction from shared list. Fixes #46806

7 years agoMerge pull request #3965 from akoeplinger/ppc-disable-tests
Alexander Köplinger [Thu, 17 Nov 2016 15:58:00 +0000 (16:58 +0100)]
Merge pull request #3965 from akoeplinger/ppc-disable-tests

[ppc64] Disable a few runtime/bcl tests that currently fail

7 years ago[runtime] Fix the waiting for background threads which got broken by 4a1161e2d691672e...
Zoltan Varga [Thu, 17 Nov 2016 14:49:21 +0000 (09:49 -0500)]
[runtime] Fix the waiting for background threads which got broken by 4a1161e2d691672e8544ce5a3e20e5c08daa4f45. (#3983)

7 years agoMerge pull request #3953 from rolfbjarne/offsets-tool-autoreclone
João Matos [Thu, 17 Nov 2016 13:29:27 +0000 (13:29 +0000)]
Merge pull request #3953 from rolfbjarne/offsets-tool-autoreclone

[offsets-tool] Make sure to re-clone when the hash for the cpp binaries changes.

7 years ago[ppc64] Disable a few runtime/bcl tests that currently fail
Alexander Köplinger [Tue, 15 Nov 2016 14:31:07 +0000 (15:31 +0100)]
[ppc64] Disable a few runtime/bcl tests that currently fail

Until someone can investigate those we want to have a clean CI.

7 years agoMerge pull request #3966 from ntherning/prevent-multiple-c-runtimes-on-windows
Niklas Therning [Thu, 17 Nov 2016 11:49:47 +0000 (12:49 +0100)]
Merge pull request #3966 from ntherning/prevent-multiple-c-runtimes-on-windows

Prevent Mono.Posix from using multiple C runtimes on Windows

7 years ago[jit] Make mono_print_method_from_ip () work when invoked from threads which are...
Zoltan Varga [Thu, 17 Nov 2016 05:09:02 +0000 (00:09 -0500)]
[jit] Make mono_print_method_from_ip () work when invoked from threads which are not attached to the runtime.

7 years ago[corlib] Remove public ctor from IncrementalHash
Alexander Köplinger [Thu, 17 Nov 2016 00:55:54 +0000 (01:55 +0100)]
[corlib] Remove public ctor from IncrementalHash

It doesn't have a public constructor in netstandard/corefx.

7 years ago[xbuild] Handle a repeat build of a target, when building through ..
Ankit Jain [Wed, 16 Nov 2016 22:42:12 +0000 (17:42 -0500)]
[xbuild] Handle a repeat build of a target, when building through ..

.. `Project.Build(..)`. For example, in:

```
<MSBuild Projects="bar.proj" Targets="foo;foo" />
```

The second invocation of `foo`, in the *same* `Project.Build(..)` call,
would get skipped, but BuildTarget assumed that no previous `outputs`
entry existed in the `targetOutputs` dictionary.

System.Exception: MSBuild operation failed ---> System.ArgumentException: Item has already been added. Key in dictionary: 'foo'  Key being added: 'foo'
  at System.Collections.Hashtable.Insert (System.Object key, System.Object nvalue, System.Boolean add) [0x00200] in <94fd79a3b7144c54b4cb162b50fc7761>:0
  at System.Collections.Hashtable.Add (System.Object key, System.Object value) [0x00000] in <94fd79a3b7144c54b4cb162b50fc7761>:0
  at Microsoft.Build.BuildEngine.Project.BuildTarget (System.String target_name, System.Collections.IDictionary targetOutputs) [0x0007e] in <b1524340ac7e4c06b22fac1b2db62c08>:0
  at Microsoft.Build.BuildEngine.Project.BuildInternal (System.String[] targetNames, System.Collections.IDictionary targetOutputs, Microsoft.Build.BuildEngine.BuildSettings buildFlags) [0x00134] in <b1524340ac7e4c06b22fac1b2db62c08>:0
  at Microsoft.Build.BuildEngine.Project.Build (System.String[] targetNames, System.Collections.IDictionary targetOutputs, Microsoft.Build.BuildEngine.BuildSettings buildFlags) [0x0004b] in <b1524340ac7e4c06b22fac1b2db62c08>:0

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

7 years ago[btls] Download & extract BTLS certs, on Linux builds.
Jo Shields [Mon, 14 Nov 2016 19:25:57 +0000 (19:25 +0000)]
[btls] Download & extract BTLS certs, on Linux builds.

Actually use the correct pathname.  Martin.

7 years agoMerge pull request #3956 from directhex/install-btls-certs-in-jenkins
Martin Baulig [Wed, 16 Nov 2016 20:53:20 +0000 (21:53 +0100)]
Merge pull request #3956 from directhex/install-btls-certs-in-jenkins

[btls] Download & extract BTLS certs, on Linux builds.

7 years agoMerge pull request #3967 from atsushieno/fix-linux-btls
Martin Baulig [Wed, 16 Nov 2016 20:51:27 +0000 (21:51 +0100)]
Merge pull request #3967 from atsushieno/fix-linux-btls

Fix btls build for Linux.

7 years agoMerge pull request #3950 from mono/work-btls-sni-2
Martin Baulig [Wed, 16 Nov 2016 20:48:14 +0000 (21:48 +0100)]
Merge pull request #3950 from mono/work-btls-sni-2

[BTLS]: Add MonoBtlsSsl.GetServerName() and set MonoTlsConnectionInfo.PeerDomainName
(cherry picked from commit e6aa904d9d47186f01e92afc1d1f6d334aa46d1e)

7 years agoMerge pull request #3678 from mono/seq-read
Rodrigo Kumpera [Wed, 16 Nov 2016 18:15:41 +0000 (10:15 -0800)]
Merge pull request #3678 from mono/seq-read

[IO] Implement FileOptions.SequentialScan for Mac/BSD

7 years ago[mcs/build] Use make functions instead of calling a shell
Ludovic Henry [Fri, 5 Aug 2016 18:23:08 +0000 (20:23 +0200)]
[mcs/build] Use make functions instead of calling a shell

7 years ago[mcs/build] Factor Q_AOT for future use
Ludovic Henry [Fri, 5 Aug 2016 18:20:00 +0000 (20:20 +0200)]
[mcs/build] Factor Q_AOT for future use

7 years ago[acceptance-tests] Add dependency on nunitlite.dll
Alexander Köplinger [Wed, 16 Nov 2016 14:43:38 +0000 (15:43 +0100)]
[acceptance-tests] Add dependency on nunitlite.dll

nunitlite.dll is not built anymore with a normal Mono build
so we need to depend on it explicitly.

7 years ago[acceptance-tests] Specify nunitlite path
Marek Safar [Wed, 16 Nov 2016 14:22:44 +0000 (15:22 +0100)]
[acceptance-tests] Specify nunitlite path

7 years agoMerge pull request #3971 from directhex/longer-longer-longer-longer-longer-lasting...
Bernhard Urban [Wed, 16 Nov 2016 11:38:04 +0000 (12:38 +0100)]
Merge pull request #3971 from directhex/longer-longer-longer-longer-longer-lasting-tailcalls

Increase tailcall instruction length on ppc64

7 years agoPrevent Mono.Posix from using multiple C runtimes on Windows
Niklas Therning [Tue, 15 Nov 2016 15:22:33 +0000 (16:22 +0100)]
Prevent Mono.Posix from using multiple C runtimes on Windows

Since libMonoPosixHelper.dll is linked against ucrtbase.dll the C runtime
wrapper functions in it will call into ucrtbase.dll. Some pinvokes in
Mono.Unix.Native.Stdlib, however, bind directly to C runtime functions in
msvcrt. This is problematic if a resource (heap memory, file pointer, etc) is
allocated using one C runtime and then operated upon using funcitons form the
other C runtime. E.g., Stdlib.malloc() calls into a wrapper in
libMonoPosixHelper so it will use the ucrtbase heap while Stdlib.free() calls
directly into msvcrt's free() which will abort the process since it's called
with a pointer in an unknown heap.

This commit adds libMonoPosixHelper wrappers for all memory and file related
functions in Stdlib to ensure that all such functions use the same C runtime.

Some of the Mono.Posix tests still fail but at least the test suite doesn't
crash after this change. The test failures will be addressed in a future PR.

7 years agoIncrease tailcall instruction length on ppc64
Jo Shields [Wed, 16 Nov 2016 01:23:33 +0000 (01:23 +0000)]
Increase tailcall instruction length on ppc64

wrong maximal instruction length of instruction tailcall (expected 120, got 124)
* Assertion: should not be reached at mini-ppc.c:4694

7 years ago[runtime] Disable some failing tests until they are fixed.
Zoltan Varga [Tue, 15 Nov 2016 21:21:14 +0000 (16:21 -0500)]
[runtime] Disable some failing tests until they are fixed.

7 years ago[runtime] Change the thread wait code to use cond variables instead o… (#3946)
Zoltan Varga [Tue, 15 Nov 2016 20:56:45 +0000 (15:56 -0500)]
[runtime] Change the thread wait code to use cond variables instead o… (#3946)

* [runtime] Change the thread wait code to use cond variables instead of events.

Instead of waiting for the thread handles to be signalled, wait for a cond variable signalled which is signalled by the code which calls pthread_join ().

* [runtime] Synchronize access to njoined_threads. Only use the background_change_event on windows.

* Fix a warning.

7 years agoBump bockbuild for helpful CI cleaning fix
Alexis Christoforides [Tue, 15 Nov 2016 19:03:01 +0000 (14:03 -0500)]
Bump bockbuild for helpful CI cleaning fix

7 years ago[jit] Optimize out the early pinvoke address loading done by emit_native_wrapper...
Zoltan Varga [Tue, 15 Nov 2016 17:51:54 +0000 (12:51 -0500)]
[jit] Optimize out the early pinvoke address loading done by emit_native_wrapper () when coop+direct pinvokes is enabled, since its not needed, and it generates MONO_PATCH_INFO_ICALL_ADDR relocations which cause pinvoke lookups at runtime on platforms where its not supported like watchos. Fixes #45369. (#3960)

7 years ago[runtime] Fix monitor exception throwing
Vlad Brezae [Tue, 15 Nov 2016 15:56:22 +0000 (17:56 +0200)]
[runtime] Fix monitor exception throwing

mono_monitor_ensure_owned used to throw exception directly and not return. After switching the runtime to use pending exceptions, monitor code would continue running assuming we owned to monitor.

Fixes 46994

7 years agoFix btls build for Linux.
Atsushi Eno [Tue, 15 Nov 2016 16:01:01 +0000 (01:01 +0900)]
Fix btls build for Linux.

As @baulig suggested us elsewhere.

7 years agoRemove global ipv6 disabled setting. Fixes #35536
Marek Safar [Mon, 14 Nov 2016 19:30:14 +0000 (20:30 +0100)]
Remove global ipv6 disabled setting. Fixes #35536

7 years agoMerge pull request #3963 from ntherning/fix-missing-property-bag-c-file-in-vs-project
Niklas Therning [Tue, 15 Nov 2016 10:39:58 +0000 (11:39 +0100)]
Merge pull request #3963 from ntherning/fix-missing-property-bag-c-file-in-vs-project

Fix missing property-bag.c file in VS project

7 years agoMerge pull request #3964 from ntherning/fix-vs-linking-error-missing-mono_dl_open
Niklas Therning [Tue, 15 Nov 2016 10:39:22 +0000 (11:39 +0100)]
Merge pull request #3964 from ntherning/fix-vs-linking-error-missing-mono_dl_open

Fix VS error due to missing mono_dl_open()/mono_loader_register_module()

7 years agoFix VS error due to missing mono_dl_open()/mono_loader_register_module()
Niklas Therning [Tue, 15 Nov 2016 10:33:02 +0000 (11:33 +0100)]
Fix VS error due to missing mono_dl_open()/mono_loader_register_module()

PR #3955 removes mono_dl_open() and mono_loader_register_module() from
msvc/mono.def and msvc/monosgen.def which causes VS linking error. This change
readds the symbols to the def files as a temporary solution to get the VS
builds to build successfully again.

7 years agoFix missing property-bag.c file in VS project
Niklas Therning [Tue, 15 Nov 2016 10:25:56 +0000 (11:25 +0100)]
Fix missing property-bag.c file in VS project

PR #3936 adds the mono/metadata/property-bag.c file but doesn't add it to
msvc/libmonoruntime.vcxproj, resulting in linking errors when building the VS
solution.

7 years agoMerge pull request #3961 from akoeplinger/ppc-parallelism
Bernhard Urban [Tue, 15 Nov 2016 07:31:10 +0000 (08:31 +0100)]
Merge pull request #3961 from akoeplinger/ppc-parallelism

[ci] Reduce make parallelism on ppc64

7 years agoMerge pull request #3952 from akoeplinger/add-tests
Alexander Köplinger [Tue, 15 Nov 2016 02:19:21 +0000 (03:19 +0100)]
Merge pull request #3952 from akoeplinger/add-tests

[ci] Add missing tests from Wrench

7 years ago[ci] Reduce make parallelism on ppc64
Alexander Köplinger [Tue, 15 Nov 2016 01:31:45 +0000 (02:31 +0100)]
[ci] Reduce make parallelism on ppc64

-j4 seems to fail the build.

7 years agoMerge pull request #3936 from kumpera/monoclass_reorg2
Rodrigo Kumpera [Tue, 15 Nov 2016 01:18:26 +0000 (17:18 -0800)]
Merge pull request #3936 from kumpera/monoclass_reorg2

More MonoClass reorg, replace 3 fields with a property bag

7 years ago[ci] Add missing tests from Wrench
Alexander Köplinger [Mon, 14 Nov 2016 15:33:55 +0000 (16:33 +0100)]
[ci] Add missing tests from Wrench

While looking at the Wrench config I noticed there are a few
tests we don't run on Jenkins. This change adds those tests.

7 years agoMerge pull request #3958 from akoeplinger/disable-tests
Alexander Köplinger [Tue, 15 Nov 2016 00:50:08 +0000 (01:50 +0100)]
Merge pull request #3958 from akoeplinger/disable-tests

[runtime] Disable certain tests on PRs

7 years ago[runtime] Disable certain tests on PRs
Alexander Köplinger [Mon, 14 Nov 2016 21:20:16 +0000 (22:20 +0100)]
[runtime] Disable certain tests on PRs

This allows us to get back to green builds for PRs
while still keeping track of failing tests in master.

7 years ago[runtime] Cache marshal info in locals whenever possible.
Rodrigo Kumpera [Mon, 14 Nov 2016 22:25:36 +0000 (14:25 -0800)]
[runtime] Cache marshal info in locals whenever possible.

7 years agoMerge pull request #3945 from kumpera/fix-cross-domain-abort
Rodrigo Kumpera [Mon, 14 Nov 2016 21:59:05 +0000 (13:59 -0800)]
Merge pull request #3945 from kumpera/fix-cross-domain-abort

[corlib] Fix cross-domain exception serialization under thread abortion.

7 years ago[bcl] Add comment on why the empty try block.
Rodrigo Kumpera [Mon, 14 Nov 2016 21:58:40 +0000 (13:58 -0800)]
[bcl] Add comment on why the empty try block.

7 years agoMerge pull request #3951 from akoeplinger/add-csproj-warning
Alexander Köplinger [Mon, 14 Nov 2016 19:26:47 +0000 (20:26 +0100)]
Merge pull request #3951 from akoeplinger/add-csproj-warning

[msvc] Add warning about autogenerated csproj to genproj

7 years ago[btls] Download & extract BTLS certs, on Linux builds.
Jo Shields [Mon, 14 Nov 2016 19:25:57 +0000 (19:25 +0000)]
[btls] Download & extract BTLS certs, on Linux builds.

7 years agoMerge pull request #3955 from kumpera/fix-embedding-api
Rodrigo Kumpera [Mon, 14 Nov 2016 19:03:25 +0000 (14:03 -0500)]
Merge pull request #3955 from kumpera/fix-embedding-api

[runtime] Don't add mono-dl.h to loader.h. Move the internal function to an internal header.

7 years ago[runtime] Don't add mono-dl.h to loader.h. Move the internal function to an internal...
Rodrigo Kumpera [Mon, 14 Nov 2016 16:04:24 +0000 (08:04 -0800)]
[runtime] Don't add mono-dl.h to loader.h. Move the internal function to an internal header.

7 years ago[offsets-tool] Make sure to re-clone when the hash for the cpp binaries changes.
Rolf Bjarne Kvinge [Mon, 14 Nov 2016 15:57:54 +0000 (16:57 +0100)]
[offsets-tool] Make sure to re-clone when the hash for the cpp binaries changes.

7 years ago[w32handle] Make mono_w32handle_ops_* functions private
Ludovic Henry [Wed, 24 Aug 2016 13:24:58 +0000 (15:24 +0200)]
[w32handle] Make mono_w32handle_ops_* functions private

7 years ago[w32handle] Compile them in on windows
Ludovic Henry [Wed, 24 Aug 2016 13:07:50 +0000 (15:07 +0200)]
[w32handle] Compile them in on windows

7 years ago[w32handle] Remove unused header includes
Ludovic Henry [Wed, 24 Aug 2016 13:06:26 +0000 (15:06 +0200)]
[w32handle] Remove unused header includes

7 years ago[os-event] Replace global cond by local cond for each waiting thread (#3941)
Ludovic Henry [Mon, 14 Nov 2016 15:08:09 +0000 (10:08 -0500)]
[os-event] Replace global cond by local cond for each waiting thread (#3941)

7 years ago[msvc] Update .csproj files
Alexander Köplinger [Mon, 14 Nov 2016 14:34:26 +0000 (15:34 +0100)]
[msvc] Update .csproj files

7 years ago[msvc] Add warning about autogenerated csproj to genproj
Alexander Köplinger [Mon, 14 Nov 2016 14:14:09 +0000 (15:14 +0100)]
[msvc] Add warning about autogenerated csproj to genproj

Hopefully reduces the confusion about the csproj files.

7 years ago[BTLS]: Use host name without port for the Server Name Indication (SNI). Bug #46549.
Martin Baulig [Fri, 11 Nov 2016 15:42:12 +0000 (16:42 +0100)]
[BTLS]: Use host name without port for the Server Name Indication (SNI).  Bug #46549.

(cherry picked from commit 20e0914e0319078e02a53be2fb4700e39d85347d)

7 years agoMerge pull request #3940 from akoeplinger/deprecate-nunit
Alexander Köplinger [Mon, 14 Nov 2016 12:43:34 +0000 (13:43 +0100)]
Merge pull request #3940 from akoeplinger/deprecate-nunit

[bcl] Deprecate old NUnit 2.4 framework shipped with Mono

7 years agoMerge pull request #3937 from akoeplinger/mph
Alexander Köplinger [Sun, 13 Nov 2016 23:00:05 +0000 (00:00 +0100)]
Merge pull request #3937 from akoeplinger/mph

[msvc] Add Mono_Unix_VersionString to monoposixhelper.def

7 years agoRevert "Install utils/{mono-dl.h,mono-compiler.h}"
Marek Habersack [Sun, 13 Nov 2016 21:40:08 +0000 (22:40 +0100)]
Revert "Install utils/{mono-dl.h,mono-compiler.h}"

This reverts commit 397430c7f9fe4fae487342db36860b0a08cd56c0.

7 years ago[msvc] Add Mono_Unix_VersionString to monoposixhelper.def
Alexander Köplinger [Fri, 11 Nov 2016 13:38:35 +0000 (14:38 +0100)]
[msvc] Add Mono_Unix_VersionString to monoposixhelper.def

Fixes the EntryPointNotFoundException when running the Mono.Posix tests on Windows.
This check was introduced in 249ee0686bf87f33acf2efde76f3645ef06bb886 but the .def file wasn't updated.

With this the tests still crash so switching them off on PRs again for now.

7 years ago[bcl] Deprecate old NUnit 2.4 framework shipped with Mono
Alexander Köplinger [Fri, 11 Nov 2016 01:55:05 +0000 (02:55 +0100)]
[bcl] Deprecate old NUnit 2.4 framework shipped with Mono

Print a message when running nunit-console about the deprecation.
Additionally, throw a compilation error if compiling against the
TestFixtureAttribute from old NUnit.

Needed changes in ms-test-suite as well since it was still using NUnit.

7 years agoInstall utils/{mono-dl.h,mono-compiler.h}
Marek Habersack [Sat, 12 Nov 2016 23:48:44 +0000 (00:48 +0100)]
Install utils/{mono-dl.h,mono-compiler.h}

These two headers are required by loader.h which is installed in
$prefix/include/mono-2.0/mono/metadata and their lack breaks compilation
of any software that includes loader.h

7 years agoMerge pull request #3938 from ntherning/UnicastIPAddressInformation.IPv4Mask-from...
Niklas Therning [Sat, 12 Nov 2016 07:41:55 +0000 (08:41 +0100)]
Merge pull request #3938 from ntherning/UnicastIPAddressInformation.IPv4Mask-from-refsource

Change UnicastIPAddressInformation.IPv4Mask to work as in refsource on Windows

7 years ago[corlib] Fix cross-domain exception serialization under thread abortion.
Rodrigo Kumpera [Fri, 11 Nov 2016 22:48:31 +0000 (14:48 -0800)]
[corlib] Fix cross-domain exception serialization under thread abortion.

RemotingServices::SerializeExceptionData started to fail as TAE was being raised
from within the serialization code and this triggered the completely wrong abort protection code.

This happened because a recent change that made .cctors raise TAE at their end and the stack trace
code would hit System.Reflection.Module's cctor to fetch its GUID for the purpose of symbolification.

The fix is to use the correct protection against aborts, which is to run code from finally blocks.

This fixes multiple failures in the runtime test suite.

7 years ago[runtime] Add back the locking to setup_interface_offsets () to work around crashes...
Zoltan Varga [Fri, 11 Nov 2016 20:41:26 +0000 (15:41 -0500)]
[runtime] Add back the locking to setup_interface_offsets () to work around crashes in roslyn.

7 years ago[os-event] Replace global cond by local cond for each waiting thread
Ludovic Henry [Fri, 11 Nov 2016 18:07:27 +0000 (13:07 -0500)]
[os-event] Replace global cond by local cond for each waiting thread

7 years agoMerge pull request #3942 from monojenkins/update-csprojs
Alexander Köplinger [Fri, 11 Nov 2016 18:55:36 +0000 (19:55 +0100)]
Merge pull request #3942 from monojenkins/update-csprojs

[msvc] Update csproj files

7 years agoFix git submodule url
Alexander Köplinger [Fri, 11 Nov 2016 18:55:11 +0000 (19:55 +0100)]
Fix git submodule url

7 years ago[msvc] Update csproj files
monojenkins [Fri, 11 Nov 2016 18:46:04 +0000 (18:46 +0000)]
[msvc] Update csproj files

7 years agoRemove extracted linker sources and reuse them via submodule
Marek Safar [Fri, 11 Nov 2016 17:39:40 +0000 (18:39 +0100)]
Remove extracted linker sources and reuse them via submodule

7 years ago[w32handle] Stop returning 0 in every cases for locking/unlocking (#3926)
Ludovic Henry [Fri, 11 Nov 2016 15:13:38 +0000 (10:13 -0500)]
[w32handle] Stop returning 0 in every cases for locking/unlocking (#3926)

* [w32handle] Stop returning 0 in every cases for locking/unlocking

* [w32handle] Ensure we lock the signal handle in SignalAndWait

7 years ago[mcs] Update better conversion tie breaking rules to cover candidate with longer...
Marek Safar [Fri, 11 Nov 2016 14:52:44 +0000 (15:52 +0100)]
[mcs] Update better conversion tie breaking rules to cover candidate with longer default parameters. Fixes #45950

7 years agoChange UnicastIPAddressInformation.IPv4Mask to work as in refsource on Windows
Niklas Therning [Fri, 11 Nov 2016 13:47:57 +0000 (14:47 +0100)]
Change UnicastIPAddressInformation.IPv4Mask to work as in refsource on Windows

Mono returns null for disconnected interfaces with 169.254.X.X address while
refsources returns 255.255.0.0. This patch copies the relevant pieces from the
refsources to make Mono behave the same.

7 years ago[offsets-tool] Fixed the Makefile to clone into the base directory instead.
Joao Matos [Fri, 11 Nov 2016 12:57:56 +0000 (12:57 +0000)]
[offsets-tool] Fixed the Makefile to clone into the base directory instead.

7 years agoMerge pull request #3809 from lateralusX/jlorenss/win-api-family-support-cleanup
Johan Lorensson [Fri, 11 Nov 2016 10:43:49 +0000 (11:43 +0100)]
Merge pull request #3809 from lateralusX/jlorenss/win-api-family-support-cleanup

Build mono runtime under none desktop Windows API family, adjustments and cleanup.

7 years agoMerge pull request #3930 from ntherning/fix-System.ServiceProcess
Niklas Therning [Fri, 11 Nov 2016 08:59:05 +0000 (09:59 +0100)]
Merge pull request #3930 from ntherning/fix-System.ServiceProcess

Fixes bugs in System.ServiceProcess on Windows

7 years agoFixes bugs in System.ServiceProcess on Windows
Niklas Therning [Thu, 10 Nov 2016 15:08:40 +0000 (16:08 +0100)]
Fixes bugs in System.ServiceProcess on Windows

There was a crash on Windows x64 in Win32ServiceController when enumerating
devices and services. Also fixed the ServiceControllerTest to succeed on .NET
as well Mono on Windows. Had to replace the services used by the test since
most of them have been removed from recent Windows versions.

This PR also enables the System.ServiceProcess tests in Windows PR builds.

7 years ago[eglib/mono] Aleksey caught a discrepancy between the semantics of Unix and Windows...
Miguel de Icaza [Fri, 11 Nov 2016 04:14:03 +0000 (23:14 -0500)]
[eglib/mono] Aleksey caught a discrepancy between the semantics of Unix and Windows, our eglib version should always strdup (#3899)

7 years ago[xbuild] Don't reevaluate project when setting metadata in a dynamic ..
Ankit Jain [Thu, 10 Nov 2016 18:26:27 +0000 (13:26 -0500)]
[xbuild] Don't reevaluate project when setting metadata in a dynamic ..

.. item.

If we have a project, that sets some properties or items at runtime,
like in a target:

```
        <Target Name="Build">
                <PropertyGroup>
                        <Bar>Bar01</Bar>
                </PropertyGroup>
```

.. such a property can be accessed as `$(Bar)` subsequently.

Then at later point, a target tries to update metadata on an item group
with existing items, like:

```
<ItemGroup>
<FooItem Include="xyz" />
</ItemGroup>

<Target Name="Foo">
                <ItemGroup>
                        <FooItem>
                                <SomeMetadata>MetadataValue</SomeMetadata>
                        </FooItem>
                </ItemGroup>
```

.. then it is seen that the value for the earlier created `$(Bar)` disappears!
So, if we try to print the value of `$(Bar)` right after that item
group, it would appear as `''`!

The issue is that the metadata update in target `Foo` caused the project
to get re-evaluated, which meant that items/properites created after the
project load were lost! We should not be reevaluating the project when
setting metadata on the basis of dynamic items, like in the target
`Foo`.

These dynamic item groups in a target are represented as
`BuildItemTask`, and these create BuildItems which have their
`IsDynamic` property set. And this is used to avoid re-evaluating the
project in `BuildItem.SetMetadata`.

But when updating metadata (`BuildItem.UpdateMetadata`), we need to
update metadata on the *existing* items, which might not have been
created from such dynamic item groups! So, their `IsDynamic==false`.
Hence, trying to `SetMetadata` on such items would cause the project to
be reevaluated, and thus properties/items like `$(Bar)` would be lost!

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

In this particular case, `Bar` was the `DesignTimeBuild` property, which
was losing it's value when `ProjectReference`'s `AdditionalProperties`
metadata was set in:

```
 <Target Name="BclBuildAddProjectReferenceProperties"
    <ItemGroup>
      <ProjectReference>
         <AdditionalProperties>$(_BclBuildProjectReferenceProperties);%(ProjectReference.AdditionalProperties)</AdditionalProperties>
     </ProjectReference>
    </ItemGroup>
```

7 years ago[runtime] Move MonoClass::ref_info_handle into a property bag.
Rodrigo Kumpera [Fri, 4 Nov 2016 02:15:39 +0000 (19:15 -0700)]
[runtime] Move MonoClass::ref_info_handle into a property bag.

7 years ago[runtime] Move MonoClass::marshal_info and MonoClass::ext to use a property bag.
Rodrigo Kumpera [Thu, 10 Nov 2016 21:55:23 +0000 (13:55 -0800)]
[runtime] Move MonoClass::marshal_info and MonoClass::ext to use a property bag.

7 years ago[runtime] Wrap MonoClass::ext with accessors.
Rodrigo Kumpera [Wed, 9 Nov 2016 01:08:23 +0000 (17:08 -0800)]
[runtime] Wrap MonoClass::ext with accessors.

7 years ago[runtime] Wrap MonoClass::marshal_info with accessors.
Rodrigo Kumpera [Thu, 3 Nov 2016 14:48:36 +0000 (07:48 -0700)]
[runtime] Wrap MonoClass::marshal_info with accessors.

7 years ago[runtime] Add a simple linearizable property bag implementation.
Rodrigo Kumpera [Tue, 16 Sep 2014 22:55:46 +0000 (18:55 -0400)]
[runtime] Add a simple linearizable property bag implementation.

7 years ago[arm64] always assume a cache line size of 4
Bernhard Urban [Thu, 10 Nov 2016 16:34:12 +0000 (17:34 +0100)]
[arm64] always assume a cache line size of 4

otherwise we still have the theoretical chance of a race.

7 years agoMerge pull request #3931 from ntherning/enable-System.Core-tests-on-windows-pr-builds
Niklas Therning [Thu, 10 Nov 2016 20:28:23 +0000 (21:28 +0100)]
Merge pull request #3931 from ntherning/enable-System.Core-tests-on-windows-pr-builds

Enable System.Core tests on Windows PR builds

7 years agoMerge pull request #3927 from tritao/updated_offsets_tool
João Matos [Thu, 10 Nov 2016 18:55:51 +0000 (18:55 +0000)]
Merge pull request #3927 from tritao/updated_offsets_tool

Updated offsets tool to latest CppSharp.

7 years ago[System.Xml] Add XElement array handling to serialization interpreter. Fixes #12571
Marek Safar [Thu, 10 Nov 2016 17:41:15 +0000 (18:41 +0100)]
[System.Xml] Add XElement array handling to serialization interpreter. Fixes #12571

7 years ago[system.xml] Enable more tests
Marek Safar [Thu, 10 Nov 2016 17:30:19 +0000 (18:30 +0100)]
[system.xml] Enable more tests

7 years ago[offsets-tool] Updated build scripts to handle multiple platforms.
Joao Matos [Thu, 10 Nov 2016 16:40:38 +0000 (16:40 +0000)]
[offsets-tool] Updated build scripts to handle multiple platforms.

7 years ago[offsets-tool] Fixed whitespace inconsistency.
Joao Matos [Thu, 10 Nov 2016 16:39:18 +0000 (16:39 +0000)]
[offsets-tool] Fixed whitespace inconsistency.

7 years agoUpdated offsets tool to latest CppSharp.
Joao Matos [Thu, 10 Nov 2016 12:09:21 +0000 (12:09 +0000)]
Updated offsets tool to latest CppSharp.

7 years agoEnable System.Core tests on Windows PR builds
Niklas Therning [Thu, 10 Nov 2016 15:15:21 +0000 (16:15 +0100)]
Enable System.Core tests on Windows PR builds

System.Core is expected to be green now on Windows.

7 years ago[ppc] clobber r0 in MONO_CONTEXT_GET_CURRENT
Bernhard Urban [Wed, 9 Nov 2016 15:03:52 +0000 (16:03 +0100)]
[ppc] clobber r0 in MONO_CONTEXT_GET_CURRENT

r0 can't be the base for a memory acces.

7 years ago[ppc] some 32bit CPUs trap on std, use stw instead
Bernhard Urban [Wed, 9 Nov 2016 14:40:41 +0000 (15:40 +0100)]
[ppc] some 32bit CPUs trap on std, use stw instead

7 years ago[ppc] enable MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX on every PowerPC configuration on Linux
Bernhard Urban [Wed, 9 Nov 2016 14:39:16 +0000 (15:39 +0100)]
[ppc] enable MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX on every PowerPC configuration on Linux

7 years ago[ppc] use proper calling convention when coming from a signal handler
Bernhard Urban [Wed, 9 Nov 2016 11:38:01 +0000 (12:38 +0100)]
[ppc] use proper calling convention when coming from a signal handler

ELF v2 ABI (aka. ppc64le) defines two entry points per function.
The global entry point (offset 0) sets up the TOC (r2) itself, while the
local entry point (offset 8) is a fast entry point if the TOC is
already set up properly.

When the global entry point is used, the address of the global entry
point is required in r12 according to the ABI.

7 years ago[ppc] disable MONO_ARCH_HAVE_TLS_GET
Bernhard Urban [Wed, 9 Nov 2016 11:36:23 +0000 (12:36 +0100)]
[ppc] disable MONO_ARCH_HAVE_TLS_GET

`--with-tls=__thread` is broken on PowerPC.
`--with-tls=pthread` didn't work on PowerPC, but disabling
MONO_ARCH_HAVE_TLS_GET fixes it.

Instead of guarding the define with `HAVE_KW_THREAD`, let's just
disable it.  We want to get rid of `--with-tls=__thread` anyway.

7 years agoMerge pull request #3854 from lateralusX/jlorenss/win-clang-toolchain
Johan Lorensson [Thu, 10 Nov 2016 08:37:55 +0000 (09:37 +0100)]
Merge pull request #3854 from lateralusX/jlorenss/win-clang-toolchain

Switch to Microsoft VS2015 MSVC toolchain for Windows x64 AOT compiler.