Граф коммитов

747 Коммитов

Автор SHA1 Сообщение Дата
Alex Soto a8f38e3696
[AutomaticAssessmentConfiguration] Update bindings to Xcode 11.4 Beta 3 (#8049)
* [AutomaticAssessmentConfiguration] Update bindings to Xcode 11.4 Beta 3
2020-03-05 19:48:28 -05:00
Rolf Bjarne Kvinge 19a4304c03
[tools] Remove the MonoTouch,v1.0 target framework. (#8051)
Nobody should be using it anymore.
2020-03-05 22:05:40 +01:00
Rolf Bjarne Kvinge 7744ad82db
[linker] No need to support monotouch.dll anymore. (#8050) 2020-03-05 22:05:08 +01:00
Sebastien Pouliot 0129618de8
[mtouch] Add `force-rejected-types-removal` optimization (#8009) (#8042)
This optimization can be enabled when it's not possible to use the
managed linker (e.g. **Don't link**) or when the managed linker cannot
remove references to deprecated types that would cause an application
to be rejected by Apple.

References to the existing types will be renamed, e.g. `UIWebView` to
`DeprecatedWebView`, in every assemblies.

The type definition is also renamed (for validity) and all custom
attributes on the types and their members will be removed.
Code inside the members will be replaced with a
`throw new NotSupportedException ();`.

The msbuild test app `MyReleaseBuild` has been updated to test that the
optimization is working as expected (device builds are slow so reusing
this test has little impact in test time).

Basically the test ensure that `UIWebView` is used and cannot be removed
by the compiler (optimization) or the managed linker (since it's
referenced). Since the optimization is enabled then we can `grep` then
final `.app` directory to ensure there's no mention of `UIWebView` inside
any of the files that would be submitted.

The application can be run, by itself, and will turn green if OK, red if
`DeprecatedWebView` can't be found (skeleton replacement for `UIWebView`)
or orange if a `NotSupportedException` is thrown.

Finally introspection tests have been updated to skip over the deprecated
(and renamed) types. It should not be an issue right now, since this
optimization is not enabled by default, but it made testing easier.
2020-03-04 21:21:41 -05:00
Sebastien Pouliot bdd39b529e
[mtouch][mmp] Add a `--warn-on-type-ref=X` option (#8038)
Using this option it's possible to test for the presence of a type
reference in both pre-linked and post-linked assemblies.

This makes it possible to detect if
* a 3rd party assemblies are using some specific type you would like to avoid;
* a type reference has been removed during the build (e.g. linker)

Notes:
* Custom attributes are encoded differently and not included in the assembly type references metadata.
* Assembly that define a type `X` do not have a reference (but the definition) of the type (and won't be reported).

If either the pre or post-linked warnings are not useful then it's possible
 to add `-nowarn:150x` to exclude the results.

E.g.
* `-nowarn:1502` would not report references in pre-linked assemblies;
* `-nowarn:1503` would not report references in post-linked assemblies;

Finally `-warnaserror:150x` can be used to stop a build that would not
satisfy either the pre or post-linked condition.

* `-warnaserror:1502` would not report references in pre-linked assemblies;
* `-warnaserror:1503` would not report references in post-linked assemblies;

_side note_ this was first done on `d16-6` to ease backports as `master`
has multiple changes for localization. A similar PR will be done for
`master` once merged.
2020-03-04 17:28:39 -05:00
Sebastien Pouliot 54f2dae935
[mtouch] Add `force-rejected-types-removal` optimization (#8009)
This optimization can be enabled when it's not possible to use the
managed linker (e.g. **Don't link**) or when the managed linker cannot
remove references to deprecated types that would cause an application
to be rejected by Apple.

References to the existing types will be renamed, e.g. `UIWebView` to
`DeprecatedWebView`, in every assemblies.

The type definition is also renamed (for validity) and all custom
attributes on the types and their members will be removed.
Code inside the members will be replaced with a
`throw new NotSupportedException ();`.

The msbuild test app `MyReleaseBuild` has been updated to test that the
optimization is working as expected (device builds are slow so reusing
this test has little impact in test time).

Basically the test ensure that `UIWebView` is used and cannot be removed
by the compiler (optimization) or the managed linker (since it's
referenced). Since the optimization is enabled then we can `grep` then
final `.app` directory to ensure there's no mention of `UIWebView` inside
any of the files that would be submitted.

The application can be run, by itself, and will turn green if OK, red if
`DeprecatedWebView` can't be found (skeleton replacement for `UIWebView`)
or orange if a `NotSupportedException` is thrown.

Finally introspection tests have been updated to skip over the deprecated
(and renamed) types. It should not be an issue right now, since this
optimization is not enabled by default, but it made testing easier.
2020-03-02 09:20:29 -05:00
Rolf Bjarne Kvinge 2f4dae9e00
[mmp] Don't ignore failures to execute pkg-config and simplify/improve logic. (#7969)
* [mmp] Don't ignore failures to execute pkg-config and simplify/improve logic.

* Show proper errors if pkg-config fails to execute.
* Extract logic to verify system mono version into its own function.
* Extract logic to execute pkg-config into its own function.

* Simplify code slightly.

* [mmp] Remove the MM5301 error message.

It's never used in mmp, and the same error code is already used in mtouch.
2020-02-26 00:38:20 +01:00
Rolf Bjarne Kvinge d2d93b6ec9
[mtouch/mmp] Share boolean parsing logic. (#7967) 2020-02-25 07:00:58 +01:00
Sebastien Pouliot 57b2a8ff63
[mtouch][mmp] Share TimeStampStep code in the linker pipelines (#7955)
This makes the `--time` options more useful to see inside the linker's
pipeline steps.

This was used only in `mtouch` before (and missed some steps [1]).
Now it's shared between both tools.

[1] not sure why... merge issue/backport maybe ?
2020-02-24 12:03:44 -05:00
Sebastien Pouliot d83e13edf1
[mtouch][mmp] Add a `--warn-on-type-ref=X` option (#7949)
Using this option it's possible to test for the presence of a type
reference in both pre-linked and post-linked assemblies.

This makes it possible to detect if
* a 3rd party assemblies are using some specific type you would like to avoid;
* a type reference has been removed during the build (e.g. linker)

Notes:
* Custom attributes are encoded differently and not included in the assembly type references metadata.
* Assembly that define a type `X` do not have a reference (but the definition) of the type (and won't be reported).

If either the pre or post-linked warnings are not useful then it's possible
 to add `-nowarn:150x` to exclude the results.

E.g.
* `-nowarn:1502` would not report references in pre-linked assemblies;
* `-nowarn:1503` would not report references in post-linked assemblies;

Finally `-warnaserror:150x` can be used to stop a build that would not
satisfy either the pre or post-linked condition.

* `-warnaserror:1502` would not report references in pre-linked assemblies;
* `-warnaserror:1503` would not report references in post-linked assemblies;

_side note_ same as https://github.com/xamarin/xamarin-macios/pull/7925
except that this one uses the localized mtouch/mmp errors only in master (so far)
2020-02-20 22:25:23 -05:00
Rolf Bjarne Kvinge 759180672d
[mtouch/mmp] Share code to locate the framework directory. (#7911) 2020-02-19 09:23:52 -05:00
Rolf Bjarne Kvinge 984374157c
[mtouch/mmp] Share Main. (#7910) 2020-02-18 16:05:42 -05:00
Rolf Bjarne Kvinge 96d5d3e02b
[mtouch/mmp] Share verbosity code. (#7908) 2020-02-18 15:44:19 -05:00
Alex Soto ec973295b5
Replace removed dsymutil `-t` switch with `-num-threads` (#7898) 2020-02-14 15:44:19 -05:00
Alex Soto d716663061
Replace removed dsymutil `-t` switch with `-num-threads` (#7900) 2020-02-14 15:36:47 -05:00
Alex Soto cee4b5e5a1
[xcode11.4] Add xcode 11.4 b1 initial support (#7805)
* [xcode11.4] Add xcode 11.4 b1 initial support

* [xtro] re-enable PDFKit

* Disable watchOS and fix xtro

Unfortunately watchOS simulator hangs when we try to deploy to it
and it keeps our tests timing out. Disabling for now until we
can investigate more.

Disables PDFKit on xtro in macOS

* [jenkins] Switch to use the catalina bot group (#7819)

* Bump maccore to get fix for launching the simulator for watch apps.

New commits in xamarin/maccore:

* xamarin/maccore@546270c8f9 [Xamarin.Hosting] Fix the name of the notification we get when the simulator has launched. (#2145)

Diff: 55957e908d..546270c8f9

* [tests] Diable watch due to time out, enable 10,15,4 in intro, fix min version

* Bump macios-binaries to get updated binary mlaunch as well.

New commits in xamarin/macios-binaries:

* xamarin/macios-binaries@f8c6e63 Bump mlaunch to xamarin/maccore@546270c8f9

Diff: eb6980e8b6..f8c6e63228

* [msbuild] Reflect ibtool changes in our tests

Looks like Apple reverted some changes introduces in Xcode 11
in ibtool, for more context see xamarin/xamarin-macios#6970

* [mtouch] Workaround strange behavior of realpath.

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-02-11 20:25:43 -05:00
Waleed Chaudhry f85556c1e5
[mtouch] Fix tests broken by localization (#7798) 2020-02-06 11:14:10 -05:00
Rolf Bjarne Kvinge 04aef86638
[mtouch] Auto-change settings where they're honored for extensions. Fixes #7780. (#7786)
When building extensions, we first store all the mtouch arguments in a file
when msbuild builds the extension, and then when msbuild builds the main
project, we load those arguments again and actually build the extension at the
same time as we build the main app.

As such, it's important to make sure that when we reload the extension
arguments we end up with the exact same build configuration as the first time.

Unfortunately that was not the case regarding the interpreter: we
automatically set the 'EnableRepl' value in Main according to whether the
interpreter was enabled or not, but Main is not called after re-loading the
arguments when building extensions.

Fix this by moving the logic that automatically sets 'EnableRepl' to somewhere
that is executed when re-loading arguments when building extensions.

Fixes https://github.com/xamarin/xamarin-macios/issues/7780.
2020-02-04 12:35:36 +01:00
Rolf Bjarne Kvinge 5c4b339ed3
[mtouch] Auto-change settings where they're honored for extensions. Fixes #7780. (#7781)
When building extensions, we first store all the mtouch arguments in a file
when msbuild builds the extension, and then when msbuild builds the main
project, we load those arguments again and actually build the extension at the
same time as we build the main app.

As such, it's important to make sure that when we reload the extension
arguments we end up with the exact same build configuration as the first time.

Unfortunately that was not the case regarding the interpreter: we
automatically set the 'EnableRepl' value in Main according to whether the
interpreter was enabled or not, but Main is not called after re-loading the
arguments when building extensions.

Fix this by moving the logic that automatically sets 'EnableRepl' to somewhere
that is executed when re-loading arguments when building extensions.

Fixes https://github.com/xamarin/xamarin-macios/issues/7780.
2020-02-03 18:23:34 +01:00
Waleed Chaudhry 00985a55e2
[Localization] mtouch/mmp C# (#7710) 2020-01-31 15:02:52 -05:00
Chris Hamons e316fc38b5
[mmp][mtouch] Drill into wrapped exceptions to produce better linker errors
- https://devdiv.visualstudio.com/DevDiv/_workitems/edit/947932
- It turns out the linker in some cases can wrap expected exceptions in a outer exception. By drilling in we can produce better errors, again.
- Refactor pipeline exception handling to be shared between mmp/mtouch
2019-12-23 09:57:48 -06:00
Vincent Dondain fd3f86d912 Bump to mono:2019-10 (#7192) (#7547)
* Fixed
`/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/builds/mono-ios-sdk-destdir/ios-sources/external/linker/src/linker/Linker.Steps/OutputStep.cs(110,15): error CS0246: The type or namespace name ‘OutputException’ could not be found (are you missing a using directive or an assembly reference?) [/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/mmp/mmp.csproj]`
* Changed the name of the method that is used from linker. Because of this commit 6be26771b9
* Added `OutputException.cs` file on `mtouch.csproj`.
* Removing enter_gc_safe and exit_gc_safe because now it's already gc_safe in this part of code, after a mono change.
* Added known exceptions to LLVM exception list.
* Needs `ifdef` because of this https://github.com/mono/mono/pull/17260.
* Bump MIN_MONO_VERSION to 6.8.0.41 and point MIN_MONO_URL to the PR.
* Add ENABLE_IOS=1 and ENABLE_MAC=1.
* Added switch to disable packaged mono build
* [Tests] Ignore tests that fail on 32b.
    Ignore the test on 32b, and filled issue: https://github.com/mono/mono/issues/17752
* [Tests] Ignore a couple of tests causing OOM.
    Hopefully fixes https://github.com/xamarin/maccore/issues/1659 for good.
* Ignore `MM0135` test on Catalina+ because it needs Xcode 9.4.
* [monotouch-test] Add null checks for teardown when test didn't run because of a too early OS version.
* [CFNetwork]: Http 2.0 requires OS X 10.11 or later.
    Check whether `_HTTPVersion2_0` is available and fallback to HTTP 1.1 otherwise.

* #7346
* This bumps Mono to use https://github.com/mono/mono/pull/17645 (which is the 2019-10 backport
of https://github.com/mono/mono/pull/17628).
* The big user-visible change is in regards to certificate validation, everything below are just
some minor adjustments to tests.

CoreFX uses a completely new `HttpClientHandler` implementation called `SocketsHttpHandler`,
which you can find at https://github.com/dotnet/corefx/tree/release/3.0/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler.

Since this is not based on the web stack anymore, it does not use any of the related APIs such
as `ServicePointManager` or `WebException`.

There is a new API called `HttpClientHandler.ServerCertificateCustomValidationCallback`.
- https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.servercertificatecustomvalidationcallback?view=netframework-4.8
- c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Unix.cs (L154)
- c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Windows.cs (L383)

The `ServicePointManager.ServerCertificateValidationCallback` is no longer invoked and on
certificate validation failure, `AuthenticationException` (from `System.Security.Authentication`)
is thrown instead of `WebException`.

At the moment, the `NSUrlSessionHandler` still uses it's own validation callback and also still
throws `WebException` on failure; we should probably look into making this consistent with the
other handlers.

* `HttpContent.SerializeToStreamAsync()` is now `protected` (changed from `protected internal`).
  - src/Foundation/NSUrlSessionHandler.cs: changed overload accordingly.
  - src/System.Net.Http/CFContentStream.cs: likewise.

* `HttpHeaders.GetKnownHeaderKind()` is an internal Mono API.
   There is a new internal API called `System.Net.Http.PlatformHelper.IsContentHeader(key)`
   which exists in both the old as well as the new implementation.
   The correct way of doing it with the CoreFX handler is
   `HeaderDescriptor.TryGet (key, out var descriptor) && descriptor.HeaderType == HttpHeaderType.Content`

* `HttpClientHandler.MaxRequestContentBufferSize` is now longer supported, you can set it to
  any non-negative value, the getter will always return 0.
  See c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Core.cs (L18).
  - tests/linker/ios/link sdk/HttpClientHandlerTest.cs: removed assertion from test.

* `HttpMessageInvoker.handler` is a `protected private` field - in the CoreFX handler, it is
  called `_handler` and `private`.  This is accessed via reflection by some of the tests, which are
  now using the new name.
  - tests/mmptest/src/MMPTest.cs: here
  - tests/mtouch/MTouch.cs: here

* tests/monotouch-test/System.Net.Http/MessageHandlers.cs:
  Adjust `RejectSslCertificatesServicePointManager` to reflect the certificate validation
  changes described above.
  - FIXME: There was an `Assert.Ignore()` related to `NSUrlSessionHandler` and macOS 10.10;
    I removed that to reenable the test because the description linked to an old issue in
    the private repo that was referenced by several "Merged" PR's, so it looked to me that
    this might have already been fixed - and I also didn't see why it would fail there.
2019-12-18 11:40:47 -05:00
Rolf Bjarne Kvinge 9fe358650b
Use relative paths in scripts. (#7545)
It makes relocating XI/XM easier.
2019-12-10 12:47:30 +01:00
Jo Shields 5d4ada34c7 Bump to mono:2019-10 (#7192)
## Miscellaneous fixes

* Fixed
`/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/builds/mono-ios-sdk-destdir/ios-sources/external/linker/src/linker/Linker.Steps/OutputStep.cs(110,15): error CS0246: The type or namespace name ‘OutputException’ could not be found (are you missing a using directive or an assembly reference?) [/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/mmp/mmp.csproj]`
* Changed the name of the method that is used from linker. Because of this commit 6be26771b9
* Added `OutputException.cs` file on `mtouch.csproj`.
* Removing enter_gc_safe and exit_gc_safe because now it's already gc_safe in this part of code, after a mono change.
* Added known exceptions to LLVM exception list.
* Needs `ifdef` because of this https://github.com/mono/mono/pull/17260.
* Bump MIN_MONO_VERSION to 6.8.0.41 and point MIN_MONO_URL to the PR.
* Add ENABLE_IOS=1 and ENABLE_MAC=1.
* Added switch to disable packaged mono build
* [Tests] Ignore tests that fail on 32b.
    Ignore the test on 32b, and filled issue: https://github.com/mono/mono/issues/17752
* [Tests] Ignore a couple of tests causing OOM.
    Hopefully fixes https://github.com/xamarin/maccore/issues/1659 for good.
* Ignore `MM0135` test on Catalina+ because it needs Xcode 9.4.
* [monotouch-test] Add null checks for teardown when test didn't run because of a too early OS version.
* [CFNetwork]: Http 2.0 requires OS X 10.11 or later.
    Check whether `_HTTPVersion2_0` is available and fallback to HTTP 1.1 otherwise.

## Bring HttpClient from CoreFX

* #7346 
* This bumps Mono to use https://github.com/mono/mono/pull/17645 (which is the 2019-10 backport
of https://github.com/mono/mono/pull/17628).
* The big user-visible change is in regards to certificate validation, everything below are just
some minor adjustments to tests.

### SocketsHttpHandler

CoreFX uses a completely new `HttpClientHandler` implementation called `SocketsHttpHandler`,
which you can find at https://github.com/dotnet/corefx/tree/release/3.0/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler.

Since this is not based on the web stack anymore, it does not use any of the related APIs such
as `ServicePointManager` or `WebException`.

### Certificate Validation Changes

There is a new API called `HttpClientHandler.ServerCertificateCustomValidationCallback`.
- https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.servercertificatecustomvalidationcallback?view=netframework-4.8
- c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Unix.cs (L154)
- c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Windows.cs (L383)

The `ServicePointManager.ServerCertificateValidationCallback` is no longer invoked and on
certificate validation failure, `AuthenticationException` (from `System.Security.Authentication`)
is thrown instead of `WebException`.

At the moment, the `NSUrlSessionHandler` still uses it's own validation callback and also still
throws `WebException` on failure; we should probably look into making this consistent with the
other handlers.

### Minor adjustments related to internal Mono APIs

* `HttpContent.SerializeToStreamAsync()` is now `protected` (changed from `protected internal`).
  - src/Foundation/NSUrlSessionHandler.cs: changed overload accordingly.
  - src/System.Net.Http/CFContentStream.cs: likewise.

* `HttpHeaders.GetKnownHeaderKind()` is an internal Mono API.
   There is a new internal API called `System.Net.Http.PlatformHelper.IsContentHeader(key)`
   which exists in both the old as well as the new implementation.
   The correct way of doing it with the CoreFX handler is
   `HeaderDescriptor.TryGet (key, out var descriptor) && descriptor.HeaderType == HttpHeaderType.Content`

### Minor adjustments to tests.

* `HttpClientHandler.MaxRequestContentBufferSize` is now longer supported, you can set it to
  any non-negative value, the getter will always return 0.
  See c1778515a3/src/System.Net.Http/src/System/Net/Http/HttpClientHandler.Core.cs (L18).
  - tests/linker/ios/link sdk/HttpClientHandlerTest.cs: removed assertion from test.

* `HttpMessageInvoker.handler` is a `protected private` field - in the CoreFX handler, it is
  called `_handler` and `private`.  This is accessed via reflection by some of the tests, which are
  now using the new name.
  - tests/mmptest/src/MMPTest.cs: here
  - tests/mtouch/MTouch.cs: here

* tests/monotouch-test/System.Net.Http/MessageHandlers.cs:
  Adjust `RejectSslCertificatesServicePointManager` to reflect the certificate validation
  changes described above.
  - FIXME: There was an `Assert.Ignore()` related to `NSUrlSessionHandler` and macOS 10.10;
    I removed that to reenable the test because the description linked to an old issue in
    the private repo that was referenced by several "Merged" PR's, so it looked to me that
    this might have already been fixed - and I also didn't see why it would fail there.
2019-12-04 15:10:32 -05:00
Sebastien Pouliot 611d6f37fb
[runtime] Comment two special cases that triggers static analysis tools (#7491) 2019-11-26 08:30:05 -05:00
Manuel de la Pena 63ab48e679
[Runtime] Enable the -Wsign-conversion warnings flag and fix some of the warnings. (#7405)
The flag adds a lot (A LOT) of warnings. The diff would be huge and
dangerous to review. We enable the flag and fix file by file.
2019-11-12 15:10:16 -05:00
Vincent Dondain 44fd06324a Merge master into d16-5 2019-11-08 10:21:12 -05:00
Sebastien Pouliot bba2ea46df
[simlauncher] Move simlauncher source to .mm file extension (ObjC++) (#7334)
This is already compiled as ObjC++ but this gives an additional (and
required) hint to some tools that it is Objective C++ code.

This avoid a lot of build errors (under static analysis tools),
most of them not really helpful (a trait shared with many C++ compiler
warnings and errors) except for this one:

```
error: invalid argument ‘-std=c++14’ not allowed with ‘Objective-C’
```
2019-10-30 11:40:05 -04:00
Rolf Bjarne Kvinge a8fdf6db6e
Implement a different escaping/quoting algorithm for arguments to System.Diagnostics.Process. (#7177)
* Implement a different escaping/quoting algorithm for arguments to System.Diagnostics.Process.

mono changed how quotes should be escaped when passed to
System.Diagnostic.Process, so we need to change accordingly.

The main difference is that single quotes don't have to be escaped anymore.

This solves problems like this:

    System.ComponentModel.Win32Exception : ApplicationName='nuget', CommandLine='restore '/Users/vsts/agent/2.158.0/work/1/s/tests/sampletester/bin/Debug/repositories/ios-samples/WorkingWithTables/Part 3 - Customizing a Table\'s appearance/3 - CellCustomTable/CellCustomTable.sln' -Verbosity detailed -SolutionDir '/Users/vsts/agent/2.158.0/work/1/s/tests/sampletester/bin/Debug/repositories/ios-samples/WorkingWithTables/Part 3 - Customizing a Table\'s appearance/3 - CellCustomTable'', CurrentDirectory='/Users/vsts/agent/2.158.0/work/1/s/tests/sampletester/bin/Debug/repositories', Native error= Cannot find the specified file
      at System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x0029f] in /Users/builder/jenkins/workspace/build-package-osx-mono/2019-08/external/bockbuild/builds/mono-x64/mcs/class/System/System.Diagnostics/Process.cs:778

ref: https://github.com/mono/mono/pull/15047

* Rework process arguments to pass arrays/lists around instead of quoted strings.

And then only convert to a string at the very end when we create the Process
instance.

In the future there will be a ProcessStartInfo.ArgumentList property we can
use to give the original array/list of arguments directly to the BCL so that
we can avoid quoting at all. These changes gets us almost all the way there
already (except that the ArgumentList property isn't available quite yet).

We also have to bump to target framework version v4.7.2 from v4.5 in several
places because of 'Array.Empty<T> ()' which is now used in more places.

* Parse linker flags from LinkWith attributes.

* [sampletester] Bump to v4.7.2 for Array.Empty<T> ().

* Fix typo.

* Rename GetVerbosity -> AddVerbosity.

* Remove unnecessary string interpolation.

* Remove unused variable.

* [mtouch] Simplify code a bit.

* Use implicitly typed arrays.
2019-10-14 16:18:46 +02:00
Rolf Bjarne Kvinge 8128976084
[runtime] Split the build differently: build libraries for simulator and device separately. (#7143)
This has a couple of advantages:

* It makes it easier to add a catalyst version of these libraries (because it
  becomes cumbersome to build for catalyst when the build rules assumes we're
  building for both simulator and device).
* It makes it easier to create an xcframework of our libraries, because the
  contents in an xcframework is split like this.
2019-10-03 16:38:44 +02:00
Rolf Bjarne Kvinge 1e92a732ef
[mtouch] Tweak watchOS architecture test to build for bitcode when building with llvm. Fixes xamarin/maccore#1994. (#7097)
Tweak the watchOS architecture test to build for bitcode when building with
llvm, since that's what's usually done.

Also tweak the MT0145 error message a bit.

Fixes https://github.com/xamarin/maccore/issues/1994.
2019-09-25 17:06:27 +02:00
Bernhard Urban 26ec2826aa ARM64_32 Debug Mode (#7012)
* [builds] add arm64_32 cross compiler

* [mtouch] force --interpreter on arm64_32 debug mode build

* [mtouch] include debug check for arm64_32 and reflect error codes in documentation
2019-09-24 17:24:49 +02:00
Rolf Bjarne Kvinge 0186f0ec1a Fix merge failure. 2019-09-16 16:08:34 +02:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Manuel de la Pena 036f23331c
[MetricKit] Add new framework up to Xcode11 GM. (#6969) 2019-09-11 15:46:38 -04:00
Manuel de la Pena b5a85a115b
[CoreHaptics] Add support for the new framework up to beta 7. (#6943) 2019-09-10 13:03:26 -04:00
Sebastien Pouliot 62018fdab4
[tests][intro] Add test for simlauncher [weak] frameworks. Fixes #6951 (#6957)
We ship a default, pre-built, simlauncher for iOS simulator applications.
This speeds up compilation for the default (non linked) simulator builds
quite a lot (no call to `clang` is needed). However it force us to keep
track of frameworks manually - `mtouch` can track them but requires
calling clang/ld to finish things up (killing the optimization).

It's easy to forget some (new) frameworks since they can be loaded
dynamically (on demand) _most_ of the time. Sadly there are a few cases
where doing so cause (hard to diagnose) problems - so we can't depend
on them being loaded, correctly for us.

The new test case loads the `otool -L` output (make when we build
simlauncher[32|64]-sgen) and compares it with mtouch's GetFramework
logic *and* with our namespaces (which is pretty close, with a few
exceptions, to the framework names). This will make it harder to
forget [weak] frameworks when adding new bindings :)

Fixes https://github.com/xamarin/xamarin-macios/issues/6951
2019-09-10 09:02:27 -04:00
Sebastien Pouliot c41a5456eb
[simlauncher] Add missing weak frameworks to simlauncher (#6955)
Things often work fine without them but, in a few cases, you can run into
some weird problems.

Add better comments for synchronization... until we add some tests [1]

Replace the following, cancelled PR
* BackgroundTask https://github.com/xamarin/xamarin-macios/pull/6949
* INcomingCallNotifications https://github.com/xamarin/xamarin-macios/pull/6954
* LinkPresentation https://github.com/xamarin/xamarin-macios/pull/6953
* PencilKit https://github.com/xamarin/xamarin-macios/pull/6950
* SoundAnalysis https://github.com/xamarin/xamarin-macios/pull/6952

[1] https://github.com/xamarin/xamarin-macios/issues/6951
2019-09-09 22:58:39 -04:00
Rolf Bjarne Kvinge 0008c20abf
Implement notarization. (#6928)
* Add a dummy x86_64 slice to all our native libraries that don't have one. (#6848)

Apple's notarization tool has a bug where they incorrectly flag Mach-O
binaries without an x86_64 slice, so make sure all our libraries have one.

* Jenkinsfile notarization (#6869)

* Add in notarization script for xamarin.mac/xamarin.iOS

* Flatten the list to get rid of the braces

* Add in keychain password

* Add login.keychain back in to access codesigning certificates

* Always sign pkgs, upload notarized copies

* Enable ios notarization and make notarized pkgs public

* Make notarization non-fatal

* Publish GH statuses for notarized PKGs

* Don't forget to declare URI variables for notarized pkgs

* report proper package links

* [jenkins] Improve package reporting.

* Use dummy function name which our tests won't complain about.
2019-09-09 00:34:11 -07:00
Rolf Bjarne Kvinge 0b4fc12f32 [tests] Fix several issues that show up in the mtouch and introspection tests on macOS 10.15. (#6929)
* [introspection] Fix several issues that show up on macOS 10.15.

* [tests][mtouch] Fix a few tests according to recent changes.
2019-09-06 20:57:40 -04:00
Alex Soto f933589401
Merge pull request #6844 from dalexsoto/alex-visionkit-xcode11
[VisionKit] Add Xcode 11 Beta 1 - 6 bindings
2019-08-30 11:19:18 -04:00
Rolf Bjarne Kvinge ec09193daf
Build native code with -std=c++14. (#6864)
* Build native code with -std=c++14.

Apple's headers now require -std=c++14 to compile their headers in C++ mode.

This fixes a compile error that would occur with the PhotosUI framework when
compiling code for C++.

* [mmp] Use -std=c++14 when compiling.

* Fix command line output.

* [mmp] Add all source files at the end, so they all get the -x clang argument applied.

* Limit when using c++14 in mtouch according to language.
2019-08-29 08:49:06 -07:00
Rolf Bjarne Kvinge b8e9c83ce0
[mtouch] Detect when we run into the 32-bit arm size limitation, and report a better error. Fixes #6526. (#6855)
Also limit the output from the native compiler, so that we don't overload the
IDEs with output if the native compiler produces tens of thousands of errors.

Fixes https://github.com/xamarin/xamarin-macios/issues/6526.
2019-08-28 04:54:26 -07:00
Alex Soto 40ebc74cf1
Add framework to simlauncher 2019-08-27 17:54:48 -04:00
Rolf Bjarne Kvinge f3fbbd7047
Add a dummy x86_64 slice to all our native libraries that don't have one. (#6848)
Apple's notarization tool has a bug where they incorrectly flag Mach-O
binaries without an x86_64 slice, so make sure all our libraries have one.
2019-08-26 09:51:50 -07:00
Rolf Bjarne Kvinge d4192a59f0
[xcode11] Remove the WatchKit framework from iOS while keeping API stability. Fixes #6492. (#6503)
* [WatchKit] Remove this framework for iOS while keeping backwards compatibility. Fixes #6492.

* Copy all generated sources and modify them to throw PlatformNotSupported exceptions.
* Adjust some existing source code to also throw PlatformNotSupported exceptions.
* Sprinkle Obsolete attributes generously.
* Stop generating code for the WatchKit framework for iOS.

Fixes https://github.com/xamarin/xamarin-macios/issues/6492.

* [introspection] Adjust test.

* [mtouch] Don't link with WatchKit, and show a warning if we detect code that want to use WatchKit.

* [xtro] Remove WatchKit for iOS.

* [introspection] Don't check obsoleted NSString fields for null.

There's probably a reason the field was obsoleted.

* [introspection] Add exception for the WatchKit framework.

* [xtro] Ignore obsolete enums.

There's probably a reason they're obsoleted.

In particular it solves a confusion between WKWebKit.WKErrorCode and
WatchKit.WKErrorCode: for iOS, the latter is obsoleted, and this way we always
process the former instead.

* [mtouch] Adjust wording for MT4178 to be more accurate.

* [WatchKit] Make more API obsolete/hidden.

Two classes managed to slip past the first time.

* [tests] Adjust test after WatchKit removal.
2019-08-14 17:46:55 +02:00
Jo Shields a29ae8e6df Bump to mono:2019-06 (#6196)
* Use the commonly used casing for `MSBuildSDKsPath` property

Handle "incorrectly" cased msbuild property names

msbuild property names are case insensitive. While generating the custom
app.config, in `SetToolsetProperty(..)` we try to update the property if
it already exists. But the name lookup was case sensitive, thus causing
the lookup to fail, resulting in two entries for the same property name
differing only in case. Eg. `MSBuildSDKsPath` vs `MSBuildSdksPath`.

* [mtouch] Whitelist new Brotli native symbols in Xamarin.Tests.Misc.PublicSymbols test

* [mtouch] Better assert in NoLLVMFailuresInWatchOS() test

We'd list the "LLVM failed" messages before even though the AOT might've crashed and the list is meaningless. Assert the exit code before that.

* [mtouch] Use new LLVM even for 32bit targets

See https://github.com/mono/mono/issues/14841 and https://github.com/mono/mono/issues/9621

* [mtouch] Work around slow LLVM in "don't link" test

See https://github.com/mono/mono/issues/14843

* Remove useless conditional

* Remove LLVM36 from Makefile

* [watch4] set right min version for arm64_32 based watch devices (#6307)

Fixes the confusion around `libmono-native*` (see for example ce5ba1e41d (commitcomment-33834491) ) when building with `MONO_BUILD_FROM_SOURCE=1`.

* reflect watchos64_32_version_min change from mono sdk

* Move mono hash info to mk/mono.mk so that existing scripts work.

* Add Makefile dependency on mono.mk where necessary

With 3e7bc29ade the Mono hash was moved from Make.config to mono.mk.

We need to add a Makefile dependency on this file wherever Make.config was used to track a Mono dependency.

* [tests] Copy mk/mono.mk to the XM test package.

* [tests] Update minOS version test after consolidating min watchOS versions everywhere.

Fixes this mtouch and mmptest failure:

    1) Failed : Xamarin.Tests.ProductTests.MinOSVersion(watchOS,MinwatchOS,WatchOSSimulator,False)
      Failures
      Expected: <empty>
      But was:  < "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (mono-runtime-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (bindings-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (bindings-generated-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (shared-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (runtime-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (trampolines-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (trampolines-invoke-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (xamarin-support-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (nsstring-localization-debug.arm64_32.o).", "Unexpected minOS version (expected 2.0.0, alternatively 2.0.0, found 5.1.0) in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a (trampolines-varargs-debug.arm64_32.o)."... >

* [mmp] Fix make clean target

It needs an -r to remove directories:

```
rm: bin: is a directory
rm: obj: is a directory
```

* Add new xamarin_timezone_get_local_name() to a few more places
2019-07-16 17:24:00 +02:00
Rolf Bjarne Kvinge a8708357a8
[mtouch] Fix building intents extensions for watchOS. (#6323)
Fixes this build error:

    Xamarin.iOS.Tasks.WatchKit2("iPhoneSimulator").BasicTest: #RunTarget-ErrorCount
        redefinition of 'main'
        Failed to compile the file(s) '/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/msbuild/tests/MyWatchKit2IntentsExtension/obj/iPhoneSimulator/Debug/mtouch-cache/i386/main.m'. Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
    Expected: 0
    But was: 2

since we no longer generate two main functions.
2019-06-17 14:33:31 +02:00
Rolf Bjarne Kvinge 9b32d682b6 [mtouch] Fix building watch extensions with the watchOS 6.0 SDK.
The watchOS 6.0 SDK renames/moves a few symbols, so some magic is required to
make things work on both watchOS 6.0 and earlier versions.
2019-06-14 02:17:36 +02:00
Rolf Bjarne Kvinge 60a5392d35 [mmp/mtouch] Workaround broken frameworks in Xcode 11 beta 1.
* The Photos headers are broken when building in C++ mode.
* The PhotosUI headers include the Photos header, so those don't work either.
* The WatchKit framework just isn't there at all.
2019-06-04 13:45:33 -07:00
Alexander Köplinger d4f2b02d66 PR feedback, remove unnecessary setting of MONO_IOS_SDK_DESTDIR in csprojs 2019-05-27 18:16:44 +02:00
Alexander Köplinger 581d19527b Add symlink that points to current mono sdks dir
Use that instead of an msbuild variable that won't work in VSMac.
2019-05-24 19:44:57 +02:00
Alexander Köplinger 48b3b82410 Merge remote-tracking branch 'upstream/master' into binary-artifacts
# Conflicts:
#	builds/Makefile
#	external/mono
2019-05-22 20:07:18 +02:00
Alexander Köplinger 5020fbc0a0 Add missing dependencies on Make.config
Otherwise things wouldn't get rebuild when Mono is bumped.
2019-05-22 17:44:58 +02:00
Bernhard Urban d26208422c [mtouch] Add support for arm64_32 2019-05-22 08:04:50 +02:00
Alexander Köplinger 247a6bf551 Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
Rolf Bjarne Kvinge 47beab425d Merge remote-tracking branch 'origin/master' into arm64_32-v3 2019-05-16 15:26:15 -07:00
monojenkins d62978945d [d16-2] [linker] Add the custom attributes removal step as an configurable optimization. Fix #3655 (#6058)
This allows the optimization to be disabled in cases where one, or
many, a custom attribute(s) are required by the application at runtime.

While not ideal disabling this single step is much better than disabling
linking for the whole application.

A better approach is described in https://github.com/xamarin/xamarin-macios/issues/6048
but this configuration optimization makes sense independently of it.

Fix https://github.com/xamarin/xamarin-macios/issues/3655
2019-05-16 16:55:10 -05:00
Sebastien Pouliot 2121b703cd
[linker] Add the custom attributes removal step as an configurable optimization. Fix #3655 (#6049)
This allows the optimization to be disabled in cases where one, or
many, a custom attribute(s) are required by the application at runtime.

While not ideal disabling this single step is much better than disabling
linking for the whole application.

A better approach is described in https://github.com/xamarin/xamarin-macios/issues/6048
but this configuration optimization makes sense independently of it.

Fix https://github.com/xamarin/xamarin-macios/issues/3655
2019-05-16 09:16:32 -07:00
monojenkins 2d8396d0a0 [mtouch/mmp] Make the mono native mode a Target-specific variable. (#6037)
The arm64_32 slice for watchOS apps will always use the 'unified' mode, while
the armv7k can be both 'unified' and 'compat' depending on the deployment
target, so we need to keep track of this per Target.

This PR does not change anything related to arm64_32, that will come in a
later PR.
2019-05-10 15:40:17 +02:00
Bernhard Urban 9dd2340972 [mtouch] Add support for arm64_32 2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge d657c723ee
[mtouch/mmp] Make the mono native mode a Target-specific variable. (#6028)
The arm64_32 slice for watchOS apps will always use the 'unified' mode, while
the armv7k can be both 'unified' and 'compat' depending on the deployment
target, so we need to keep track of this per Target.

This PR does not change anything related to arm64_32, that will come in a
later PR.
2019-05-09 21:36:42 +02:00
Rolf Bjarne Kvinge 6eeb2201a9
[mtouch] Move string null/empty check into CompilerFlags.AddOtherFlag. (#6027) 2019-05-09 18:43:39 +02:00
Rolf Bjarne Kvinge ef0d7a1718
[generator] Show proper errors when failing to compile something. (#6003)
* [mtouch/mmp] Split out the RunCommand[Async] methods to a separate file so that the generator can reuse more easily.

* [generator] Show proper errors when failing to compile something.

* Fix grammar
2019-05-07 13:40:59 +02:00
Rolf Bjarne Kvinge 0ba3a21daf
[mtouch] Support and use the partial static registrar when using the dynamic registrar on device. (#5965) 2019-05-03 17:56:48 +02:00
Alexander Köplinger 99ea097abf Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-24 23:28:00 +02:00
Vlad Brezae 26ba16e3e6 [mtouch] Enable dsym even from aot'ed images when interpreter is enabled (#5919)
Fixes https://github.com/mono/mono/issues/13975
2019-04-24 13:11:39 -04:00
Alexander Köplinger db86c8cc88 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-11 20:28:57 +02:00
Rolf Bjarne Kvinge f4efeb0e63
[mtouch] Avoid an NRE when using the embeddinator by returning an empty collection instead of null. (#5883)
Fixes this NRE:

    error MT0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
    System.ArgumentNullException: Value cannot be null.
    Parameter name: collection
      at System.Collections.Generic.List`1[T].InsertRange (System.Int32 index, System.Collections.Generic.IEnumerable`1[T] collection) [0x00003] in <a104f9cbbafd4348bcc580acb0a3f8a8>:0
      at System.Collections.Generic.List`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] collection) [0x00000] in <a104f9cbbafd4348bcc580acb0a3f8a8>:0
      at Xamarin.Bundler.Application.BuildApp () [0x00040] in /work/maccore/master/xamarin-macios/tools/mtouch/Application.cs:1541
      at Xamarin.Bundler.Application.BuildNative () [0x0001f] in /work/maccore/master/xamarin-macios/tools/mtouch/Application.cs:903
      at Xamarin.Bundler.Application+<>c.<BuildAll>b__148_2 (Xamarin.Bundler.Application v) [0x00000] in /work/maccore/master/xamarin-macios/tools/mtouch/Application.cs:840
      at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x0001e] in <a104f9cbbafd4348bcc580acb0a3f8a8>:0
      at Xamarin.Bundler.Application.BuildAll () [0x00076] in /work/maccore/master/xamarin-macios/tools/mtouch/Application.cs:840
      at Xamarin.Bundler.Driver.Main2 (System.String[] args) [0x004a1] in /work/maccore/master/xamarin-macios/tools/mtouch/mtouch.cs:1369
      at Xamarin.Bundler.Driver.Main (System.String[] args) [0x00015] in /work/maccore/master/xamarin-macios/tools/mtouch/mtouch.cs:877
2019-04-10 21:48:05 +02:00
Alexander Köplinger cc58acdcd3 Bump mono
Commit list for mono/mono:

* mono/mono@6717c3422a [2019-02] Bump linker to latest master (#13818)
* mono/mono@6d2f150690 Add regression test
* mono/mono@fe613fb067 Add reflected class to event methods

Diff: a1fc070eb5...6717c3422a
2019-04-03 23:53:09 +02:00
Sebastien Pouliot a9f8d7b379
[mtouch][mmp] Add control over the the linker new `BeforeFieldInit` optimization (#5820)
Add an mtouch/mmp optimization flag to control this new optimization since
3rd party code (in particular binaries) might depend on this side effect.
2019-04-01 21:21:56 -05:00
Alexander Köplinger bcae65f998 MTouch: Always add GSS framework when mono-native is used
According to Rolf it's fine to always add since the native linker will
figure out if it's really needed and so customers don't need to do
anything when using -all_load.
2019-03-27 11:14:53 +01:00
Alexander Köplinger 1cb9c5b068 Fix MT1015() mtouch test
Mono started using System.IO.File from CoreFX and it has a different
behavior for File.Copy() when the target is a directory:
It just puts the file into the directory instead of raising an exception.

In order to fix the MT1015 test we just check ourselves whether the target
is a directory.
2019-03-26 12:41:48 +01:00
Alexander Köplinger 9b039e0f9d Fix linker paths 2019-03-22 11:19:35 +01:00
Alexander Köplinger ca76be3bea Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-19 16:17:35 +01:00
Sebastien Pouliot 5c321ac89d
[mtouch] Update validations around --interpreter (#5772)
This also centralize other interpreter checks and options in the same
location (making it easier to read / update).

* Warn and switch the REPL if the interpreter is enabled on simulator

Why ? It's confusing to build the same code using different options for
simulator and devices. This is what happens if you try to use features
like `dynamic` or `System.Reflection.Emit`.

So instead of an error, we warn that the interpreter is not supported
and switch to the existing REPL mode.

The JIT remains the only option for the simulator but it allows testing
features without a device.

* Fail early if the interpreter is used on 32bits [1]

The current interpreter only works on 64 bits (so ARM64). However the
error won't be reported, back to the developer, until deployment time.

This temporary [1] fix spot the condition very early and report an error

```
error MT0099 : Internal error : The interpreter is currently only available for 64 bits.
```

instead of the current one at deploy time

```
IncorrectArchitecture: Failed to find matching arch for 32-bit Mach-O input file /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.tNKDlx/extracted/X.app/X
error MT1006: Could not install the application 'X.app' on the device 'Mercure': AMDeviceSecureInstallApplicationBundle returned: 0xe8000087 (kAMDIncorrectArchitectureError).

Application could not be uploaded to the device.
```

[1] https://github.com/mono/mono/issues/9871

* [tests] Fix/renumbered MT0138

The test was using simulator + interpreter which is not _really_
possible, we use REPL in that case - so we're now checking if
assemblies were specified with `--interpreter` to cover both cases.

Also 0138 was already used by `mmp` and the warning was **not**
registered or documented in the errors documents. To avoid
confusion it has been renumbered to 0142 and documented.
2019-03-19 08:22:39 -05:00
Alexander Köplinger fe92aab5bb Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	external/mono
#	src/Foundation/NSUrlSessionHandler.cs
2019-03-18 14:35:46 +01:00
Sebastien Pouliot aa1aa68d07
[mtouch] Avoid MT0109 warnings when --repl (or --interpreter) is used (#5771)
In both cases we use a different binaries for a few assemblies. They
 include support for SRE and a few other things that are not normally
 usable on iOS. That's totally fine and not something that can be fixed
 (unless you stop using the feature). So this PR simply ignore that
 specific case so we don't warn about things that can't be changed (and
 are not a problem)

 E.g.
 ```
 Warning MT0109: The assembly 'mscorlib.dll' was loaded from a different path than the provided path (provided path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/mscorlib.dll, actual path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/repl/mscorlib.dll). (MT0109) (XXX)
 Warning MT0109: The assembly 'System.Core.dll' was loaded from a different path than the provided path (provided path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Core.dll, actual path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/repl/System.Core.dll). (MT0109) (XXX)
 Warning MT0109: The assembly 'System.dll' was loaded from a different path than the provided path (provided path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.dll, actual path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/repl/System.dll). (MT0109) (XXX)
 Warning MT0109: The assembly 'System.Xml.dll' was loaded from a different path than the provided path (provided path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/System.Xml.dll, actual path: /Users/poupou/git/intr/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/repl/System.Xml.dll). (MT0109) (XXX)
 ```
2019-03-15 09:02:08 -05:00
Alexander Köplinger ed3acacd10 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-15 14:30:26 +01:00
Sebastien Pouliot ea96b2299a
[mtouch] Make the SealerSubStep a configurable optimization (#5766)
document it and adjust the optimization tests.

This allows the optimization to be:
* disabled (if ever needed) on fully AOT'ed applications
* re-enabled for the interpreter (at your own risk)
2019-03-14 08:12:17 -05:00
Alexander Köplinger 8274161551 Update mmp/mtouch projects to add new linker files and adapt to new logic 2019-03-13 00:34:52 +01:00
Rolf Bjarne Kvinge c46a8b9611 Merge remote-tracking branch 'origin/master' into mono-2018-10 2019-02-27 07:43:02 +01:00
Rolf Bjarne Kvinge 5cb8b84e73
Simplify ARM64-based CPU detection logic. (#5661)
* We only need to do a runtime check on watchOS.
* On watchOS assume we're on a ARM64-based CPU as long as we're not on a
  ARMv7k CPU.

Fixes an issue where we failed to detect a 64-bit iOS CPU as ARM64-based (in
particular iPhone X's ARM64v8).
2019-02-27 07:31:33 +01:00
Bernhard Urban e2ec9422f2 [mtouch] use "--aot=interp,full,[...]" for every assembly if interpreter mixed mode is enabled (#5655)
The Mono AOT compiler maintains a set of signatures of compiled methods.
Those signatures are necessary to emit wrappers to enable the transition
from interpreter->AOT code. Thus, they must be collected for each
assembly.
2019-02-25 09:24:34 -05:00
Alexander Köplinger 1e9de96789 Merge branch 'master' into mono-2018-10 2019-02-24 10:20:44 +01:00
Rolf Bjarne Kvinge 4a69a8c238
[mtouch] Compile .bc files into .o files before passing them to the clang. (#5651)
Clang will automatically compile .bc files into object code if needed, but
it's done serially. If we do the compilation ourselves, it'll be parallelized.

This makes the dontlink tests build in half the time when building for watchOS
/ Release (it drops from ~15 minutes to ~7 minutes).
2019-02-22 09:57:20 +01:00
Alexander Köplinger 4a03840d4d Merge branch 'master' into mono-2018-10
# Conflicts:
#	external/mono
#	tests/xharness/WatchOSTarget.cs
#	tools/mtouch/Target.cs
2019-02-21 19:30:39 +01:00
Alexander Köplinger a8a1aa60cf Fix issue with dylibs included in appex
See https://github.com/mono/mono/issues/13107
2019-02-21 19:22:53 +01:00
Rolf Bjarne Kvinge d19620c35f
[mtouch] Pass outfile= to the AOT compiler when compiling to full llvm as well. (#5647)
The AOT compiler uses the 'outfile' as the base for a temporary .bc file. If
it's not set, the path to the assembly is used as the base instead. This does
not work if we compile the same assembly to multiple architectures (for
instance armv7k+arm64_32), because the temporary file will clash between those
AOT compilations.

This is not a problem for iOS (armv7+armv7s) because we don't compile to
bitcode (.bc files) on iOS.
2019-02-21 16:38:30 +01:00
Rolf Bjarne Kvinge 81038fc319
[mtouch] Hide linker warning about mismatched watchOS versions. (#5646) 2019-02-21 15:44:17 +01:00
Rolf Bjarne Kvinge 2ff07b6f3a
[mtouch] Don't use the native linker to create fat executables. (#5629)
* [mtouch] Don't use the native linker to create fat executables.

Don't use the native linker to create fat executables, instead link each
architecture separately, and then manually lipo everything together at the
end. This requires a few changes since we need to keep track of the linker
flags per architecture.

The problem is that bitcode files (.bc) do not correspond with a particular
architecture, so the linker can't distinguish between .bc files for armv7k and
.bc files for arm64_32. So if we pass all together to the linker, the linker
will add all .bc files to both architectures, thus duplicating everything (and
the linking fails with duplicate symbols errors).

* [mtouch] Fix building symlinked simulator executables.

* [mtouch] Fix several assumptions about each Target only producing a single executable.
2019-02-21 14:39:02 +01:00
Rolf Bjarne Kvinge 5f33d73077
[mtouch] Automatically install when building the csproj. (#5637)
I keep forgetting to run 'make mtouch' after changing mtouch, and then
expecting a test project to pick up the changes.
2019-02-20 15:13:27 +01:00
Alexander Köplinger 777a406838 Merge branch 'master' into mono-2018-10 2019-02-20 14:29:27 +01:00
Rolf Bjarne Kvinge bfab0ee22a
[mtouch] Fix --dot:<path> to honor the path passed. (#5626)
Also change output to use the full path to files as nodes, instead of just the
filename, and instead use a label to set what's shown to just the filename.

This makes the graph correct when we have multiple files with the same name,
but different paths.
2019-02-20 06:30:08 +01:00
Rolf Bjarne Kvinge ffda8b93ba
[mtouch] Remove MT0028, since it's only applicable if iOS deployment target is < 4.2. (#5625) 2019-02-20 06:29:52 +01:00
Alexander Köplinger 75ea3ca9bc Merge branch 'master' into mono-2018-10
# Conflicts:
#	external/mono
#	tests/xharness/Extensions.cs
2019-02-18 18:04:06 +01:00
Rolf Bjarne Kvinge 2bc18499b5
[mtouch] Quote MONO_PATH if needed in debug spew. (#5607)
Makes c&p commands easier.
2019-02-14 16:33:18 +01:00
Rolf Bjarne Kvinge 5571877312 [mtouch] Use a custom symbol writer to ensure only pdb file names are written to assemblies.
We need our 32-bit and 64-bit assemblies to be identical so that we can avoid
duplicating the .dll in fat apps.

One difference used to be that the .dll contained the full path to the
corresponding .pdb ([1]), but we changed cecil to only write the filename
([2]). Unfortunately this change breaks something else, so it has to be
reverted ([3]).

This implements a different solution: we provide a custom symbol writer to
Cecil, which only writes the filename of the pdb in the .dll, not the full
path.

[1]: https://bugzilla.xamarin.com/show_bug.cgi?id=54578
[2]: https://github.com/jbevain/cecil/issues/372
[3]: https://github.com/jbevain/cecil/pull/554

(cherry picked from commit 53874c863996656eaba43a5582731b93eb6f53b7)

# Conflicts:
#	tools/mtouch/mtouch.csproj
2019-02-13 14:59:34 +01:00
Rolf Bjarne Kvinge 0f49b41513 Merge remote-tracking branch 'origin/master' into mono-2018-10 2019-02-13 13:51:37 +01:00
Rolf Bjarne Kvinge d02c9bc8e0
Add a Runtime.IsARM64CallingConvention property. (#5569)
* Add a Runtime.IsARM64CallingConvention property.

Determining whether we should use the ARM64 calling convention in P/Invokes
gets more complicated with ARM64_32 (which for our purposes is a 32-bit
architecture).

So add a property on the Runtime class to avoid code duplication, and teach
the linker to optimize any calls to this property to a constant value whenever
possible (and the method is marked as optimizable).

Also change our code to use this new property, and make the corresponding
methods optimizable.

Some shuffling in mmp was required, which meant a little bit more code is now
shared between mtouch and mmp.

* Coding style.

* Test tweaks.

* Improve comment.

* Document new optimization

* Move ILReader to shared linker test code location.

* Disable inlining on armv7k.

* Change IsARM64CallingConvention to a read-only field.

We can give the AOT compiler a constant value for a read-only field, so that
the AOT compiler optimizes away the call to the field by using the constant
value.

This commit does not implement this change for the AOT compiler, but using a
read-only field makes it easy to implement it in the future.
2019-02-11 17:29:13 +01:00
Rolf Bjarne Kvinge 1141e01a63 [mtouch] Remove unnecessary exception handling. 2019-02-11 13:49:38 +01:00
Rolf Bjarne Kvinge c54fc2431f [mtouch] Show error in case of unexpected behavior. 2019-02-11 13:49:38 +01:00
Rolf Bjarne Kvinge 019fcb6a83 [mmp/mtouch] Share some code. 2019-02-11 13:49:38 +01:00
Rolf Bjarne Kvinge 930d66ff63 [mtouch/mmp] Use 99 as the error code for internal errors. 2019-02-11 13:49:38 +01:00
Rolf Bjarne Kvinge 5385f44021 [xharness] Some style/debug fixes. 2019-02-11 13:49:38 +01:00
Alexander Köplinger 213f23b829 Merge branch 'master' into mono-2018-10
# Conflicts:
#	tests/mtouch/mtouch.csproj
2019-02-07 23:12:42 +01:00
Rolf Bjarne Kvinge b32ac08c6d
[mtouch] Simplify & unify lipo code. (#5558) 2019-02-07 13:04:19 +01:00
Rolf Bjarne Kvinge 135507957f
[linker] Remove non-bitcode compatible code, and show a warning. (#5551)
* [linker] Remove non-bitcode compatible code, and show a warning.

Remove code not currently compatible with bitcode and replace it with an
exception instead (otherwise we'll assert at runtime).

Also show a warning when we detect this.

This is quite helpful when looking at watch device test runs to filter out
failures we already know about.

This fixes point #2 in #4763.

* Improve documentation.

* Simplify linker code by using a substep.

* Fix whitespace issues.

* Improve reporting.

* Add support for reporting more than one MT2105 at the same time when making
  the errors instead of warnings.
* Only report MT2105 for methods that haven't been linked away.
* Format the error message nicer for properties.

* Tweak a bit for warning tests to pass.

* Use ExceptionalSubStep to provide better error information.

* Adjust where linker warnings/errors are reported from to avoid a NullReferenceException.
2019-02-07 07:57:01 +01:00
Alexander Köplinger a67e2b270e Remove accidentally committed debugging helper 2019-02-05 15:08:47 +01:00
Alexander Köplinger 1c97aba973 Fix mono native copying when no linkcontext is available
When we're using cached linker output we can't access LinkContext.
Instead we need to cache the required values ourselves.
2019-02-05 11:37:02 +01:00
Alexander Köplinger 68657484bb Merge branch 'master' into mono-2018-10 2019-02-04 15:11:58 +01:00
Sebastien Pouliot cf86b3e1ef
[mtouch] Use the 'repl' assemblies when the interpreter is enabled (#5535) 2019-02-01 15:55:27 -05:00
Alexander Köplinger b105a5dd6f Improve copying of libmono-native 2019-02-01 20:10:58 +01:00
Alexander Köplinger d612d3ec27 bugzilla -> github 2019-02-01 19:47:55 +01:00
Rolf Bjarne Kvinge 510bb0b1cd
[mtouch] Add logging overloads that don't format the input. (#5525)
Sometimes we just Log a string without any format arguments. This works fine,
until the string comes from the user, and happen to contain braces, in which
case an invalid format exception is thrown.

Adding Log overloads that doesn't take format arguments (nor formats its
input) avoids this problem.
2019-02-01 07:43:15 +01:00
Alexander Köplinger 929e4623c4 Merge branch 'master' into mono-2018-10
# Conflicts:
#	external/mono
2019-01-14 15:26:56 +01:00
Sebastien Pouliot 974617d144
[mtouch] Provide a better (and single) error message when the interpreter is enabled in simulator builds. (#5376)
Before

```
clang : error : no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-ee-interp.a'
clang : error : no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-icall-table.a'
clang : error : no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-ilgen.a'
error MT5209 : Native linking error : clang: error: no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-ee-interp.a'
error MT5209 : Native linking error : clang: error: no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-icall-table.a'
error MT5209 : Native linking error : clang: error: no such file or directory: '/Users/poupou/git/xamarin/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libmono-ilgen.a'
MTOUCH : error MT5202: Native linking failed. Please review the build log.
    0 Warning(s)
    7 Error(s)
```

After

```
MTOUCH : error MT0141: The interpreter is not supported in the simulator. Do not pass --interpreter when building for the simulator.
    0 Warning(s)
    1 Error(s)
```
2019-01-11 11:38:22 -05:00
Alexander Köplinger ca90eb2e19 Merge branch 'master' into mono-2018-10
# Conflicts:
#	external/mono
2019-01-10 22:13:44 +01:00
Rolf Bjarne Kvinge 2b4a3b948b
[mtouch] Disable native code sharing if the interpreter settings differ between the main app and app extensions. Fixes #5365. (#5369)
We can't share native code between apps and app extensions if the interpreter
settings differ between them, so detect this scenario and automatically
disable native code sharing.

Fixes https://github.com/xamarin/xamarin-macios/issues/5365.
2019-01-10 15:45:33 +01:00
Marek Safar c6653167b9 Merge remote-tracking branch 'origin/master' into mono-2018-10 2019-01-07 14:41:25 +01:00
Rolf Bjarne Kvinge 163f9a37f9
[mtouch] Ignore linker warnings about our own libraries being built for iOS 7.0 when deployment target is iOS 6.0. Fixes #5092. (#5310)
Only the arm64 slice are built for iOS 7.0 (because that's when arm64 was
introduced), the arm7(s) slices are built for iOS 6.0, which means it's safe
to ignore this warning.

Fixes https://github.com/xamarin/xamarin-macios/issues/5092.
2018-12-20 17:27:25 +01:00
Marek Safar aa6fefb1c9 Merge remote-tracking branch 'origin/master' into mono-2018-10 2018-12-17 15:28:08 +01:00
Chris Hamons d7c2a45ca9
Add 'NoBindingEmbedding' style binding project support (#5167)
- Existing binding projects embed the native libraries within the assembly as managed resource
- This does not scale well and has performance implications
- This PR creates a new property, NoBindingEmbedding which when true processes the building and consumption of binding projects differently.
- Existing binding projects are not affected, they will continue as is
- I've written a full XM test suite and ported a subset to iOS. Since iOS only supports checked in projects, and I didn't want to make the existing situation worse by adding more, I only wrote tests that could use the existing test projects.
    -When we complete some form of msbuild testing reform, we'll revisit these tests.
- Remove two files in MyiOSFrameworkBinding that are not used (we use copies elsewhere)
- Remove unnecessary sleep and fix broken touch command
- Output failing test log to console instead of test output
    - VSfM does not handle thousands of lines of test failure message well
- Add ability to generate binding projects with LinkWith
2018-12-12 09:55:57 -05:00
Bernhard Urban 4061adc2a4 [interp] fix mixed mode in Release configuration (#5230)
* [mtouch] do not strip assemblies when interpreter is used

* [xharness] add release mixed-mode configuration

* [xharness] enable debug mixed-mode config for mscorlib

* [mtouch] add link to mono issue
2018-12-11 17:51:05 +01:00
Rolf Bjarne Kvinge 1cdfc65b38 Merge remote-tracking branch 'origin/master' into mono-2018-10 2018-12-07 08:25:46 +01:00
Marek Safar 60d08b8559 Merge branch 'master' into mono-2018-10 2018-11-29 13:41:32 +01:00
Rolf Bjarne Kvinge 428310c181 [mtouch] Clear the MONO_THREADS_SUSPEND environment variable before calling the AOT compiler. Works around mono/mono#11765.
Visual Studio for Mac may set MONO_THREADS_SUSPEND, and this ends up confusing
the AOT compiler when compiling for watchOS.

So unset the environment variable before calling the AOT compiler.

Works around https://github.com/mono/mono/issues/11765.
2018-11-27 12:06:12 +01:00
Rolf Bjarne Kvinge 02fe5339a4
[runtime] Clean up public symbols. Fixes #5124. (#5155)
* [runtime] Clean up public symbols. Fixes #5124.

Clean up public symbols, by:

* Symbols that don't need to be public (most of them), can be private.
* Prefix all public symbols with `xamarin_`.
* Add a test to ensure we don't introduce new public symbols.
* Use C symbols instead of mangled C++ symbols, since those are easier to
  handle in the test.

This minimizes the chance of getting into a symbol clash with another native library.

Fixes https://github.com/xamarin/xamarin-macios/issues/5124.

* Some test fixes.
2018-11-21 11:48:15 -05:00
Ludovic Henry 1c59076f82 Merge branch 'master' of github.com:xamarin/xamarin-macios into mono-2018-10 2018-11-14 14:20:02 -05:00
Martin Baulig 91169d6112 Tooling support for mono-native. 2018-11-14 13:20:48 -05:00
Martin Baulig 6fe944731d Merge remote-tracking branch 'origin/mono-2018-08' into mono-2018-10 2018-11-14 13:03:30 -05:00
Rolf Bjarne Kvinge ef8f1dcbfe
[mtouch/mmp] Unify Xcode lookup & verification code in mtouch and mmp. (#5077)
Share all the code to find and verify Xcode between mtouch and mmp.

Also print out the actual product version when logging which Xcode was used
(to make it easier to detect if a beta version is in use).
2018-11-05 08:16:29 +01:00
Rolf Bjarne Kvinge c69c74b3d3
Clone files if possible whenever it makes sense. (#5049)
Cloning is faster when supported, and it also saves disk space.
2018-10-29 16:09:30 +01:00
Martin Baulig 673325206d Merge remote-tracking branch 'origin/mono-2018-08' into mono-2018-10 2018-10-26 02:24:28 -04:00
Sebastien Pouliot d2a9a57bb9
[mtouch] Display a specific error is a .framework binary is invalid. Fixes #5028 (#5031)
Instead of a generic `MT0000` caused by an exception reading the magic
numbers of the binary framework file.

This was caused be uncompressing an archive, with a symlink, into a
file system that does not support symlinks (on Windows).

ref: https://github.com/xamarin/xamarin-macios/issues/5028
2018-10-23 14:15:58 -04:00
Martin Baulig 3f325dd3f0 Initial "Titanium Yellow" support. 2018-10-16 19:01:32 -04:00
Martin Baulig 47a2a3de15 Add `PreserveDependencyLookupStep` to mmp and mtouch to make it build again. 2018-10-15 13:24:33 -04:00
Jo Shields 6f2ebedb74 Bump to mono:2018-06 (#4277)
* Bump to mono:2018-06

* Bump mono

* Updates compression to work with the public span

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Bump Mono

* [runtime] always use `mono_jit_set_aot_mode` (#4491)

`mono_jit_set_aot_only` is deprecated and accidentally broke with
https://github.com/mono/mono/pull/7887

This should fix device tests with `mono-2018-06`

* Testing with Zoltan's patch

* Include libmono-system-native on Xamarin.Mac

* Bump Mono

Commit list for mono/mono:

* mono/mono@7bcda192a0 Bump llvm to release_60/fc854b8ec5873d294b80afa3e6cf6a88c5c48886. (#9786). (#9804)
* mono/mono@23e95ec7ad Apply F# portable pdb debug fix for pinvokes & bump (#9797)
* mono/mono@295f6d32af [2018-06] [MacOS] On Mac, use the copyfile API to copy files (#9696)

Diff: 7d5f4b6136...7bcda192a0

* Revert 4bacab3d5c, it doesn't fix the ios aot problems.

* Bump mono

* [tests] Adjust the MT0137 test for mcs change in behavior.

Starting with mono 5.16 mcs will now add assembly references when the assembly
is only used in attributes (this was already the case for csc in both 5.14 and
5.16, so it seems to be a compatibility change).

Adjust the MT0137 test accordingly.

* [msbuild] Fix parsing of json parser errors to handle trailing periods in the error message.

Fixes this test:

    1) Test Failure : Xamarin.iOS.Tasks.Bug60536.TestACToolTaskCatchesJsonException
         ColumnNumber
      Expected: 2
      But was:  0

* Bump mono

* [builds] Install the old llvm binaries into the LLVM36 directory and make the 32 bit builds use that.

* Bump mono

* Bump mono

* [jenkins] Don't give VSTS a fake branch. (#4667)

Something in VSTS changed, and now fake branch names don't work anymore.

So instead use real branch names (and for pull requests I've created a
'pull-request' branch we can use).

* Assembly.LoadFile accepts only absolute path

* [linker] Add new Facade (System.Threading.Tasks.Extensions).

Fixes these MTouch test failures:

    1. Xamarin.Linker.SdkTest.iOS_Unified :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    2. Xamarin.Linker.SdkTest.tvOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    3. Xamarin.Linker.SdkTest.watchOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

* [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. (#4732)

* Bump Mono

* [mtouch] add mixed-mode support (#4751)

* [mtouch] add --interp-mixed option

When enabling this option, mtouch will AOT compile `mscorlib.dll`.  At
runtime that means every method that wasn't AOT'd will be executed by
the runtime interpreter.

* [mtouch] Add support to --interpreter to list the assemblies to (not) interpret.

* [msbuild] Simplify interpreter code to use a single variable.

* Fix whitespace.

* [mtouch] Move mtouch-specific code to mtouch-specific file.

* [msbuild] An empty string is a valid value for 'Interpreter', so make it a non-required property.

* [mtouch] Add sanity check for aot-compiling interpreted assemblies.

* Bump Mono

* [linker] Updates SDKs facades list

* Bump mono

* [msbuild] Adds facades which might override default nuget version to framework list

The collision resolver task reads them from here https://github.com/dotnet/sdk/blob/master/src/Tasks/Common/ConflictResolution/FrameworkListReader.cs

* Bump to a VSfM version that can build XM Classic projects.
2018-10-10 11:02:28 -04:00
Chris Hamons 3119129ab7 Remove references to bugzilla and replace with github (#4920)
https://github.com/xamarin/xamarin-macios/issues/3647
2018-10-04 09:43:55 -04:00
Rolf Bjarne Kvinge 11d9fe68db
[mtouch/mmp/docs] Improve MT0091 to include how to enable the linker. Fixes #4549. (#4852)
Fixes https://github.com/xamarin/xamarin-macios/issues/4549.
2018-09-21 16:51:23 +02:00
Vincent Dondain 2174ec41a2 Merge branch 'xcode10' 2018-09-18 14:12:39 -04:00
Rolf Bjarne Kvinge fc673dcf96
[mtouch/mmp] Always show the complete version. (#4817)
This makes failure diagnosis based on the exact XI/XM version much easier when
builds aren't verbose.

Example: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/632392
2018-09-14 19:12:59 +02:00
Rolf Bjarne Kvinge 7f966cfc74
[mtouch] Don't pass -read_only_relocs to clang when compiling 64-bit code. Fixes #4735. (#4809)
Fixes this ld warning:

    ld : warning : -read_only_relocs cannot be used with arm64

Fixes https://github.com/xamarin/xamarin-macios/issues/4735.
2018-09-14 07:35:53 +02:00
Rolf Bjarne Kvinge 93c672fbf1 Disable the GC pump by default. Fixes #4772. (#4781)
Fixes https://github.com/xamarin/xamarin-macios/issues/4772
2018-09-10 16:42:42 -04:00
Rolf Bjarne Kvinge 759c3f22b4 [mtouch] Build using csproj instead of manual csc command. Partial fix for #4384.
* Make sure mtouch.csproj builds using the same compiler arguments as the makefile used.
* Build mtouch.exe using msbuild in the makefile, and clean up the resulting unused make logic.

Partial fix for https://github.com/xamarin/xamarin-macios/issues/4384.
2018-08-23 13:49:40 +02:00
Rolf Bjarne Kvinge 30af5e34ad Remove unneeded solution to simplify things / avoid confusion. 2018-08-23 12:32:57 +02:00
Vincent Dondain eec95e881c Merge branch 'd15-8' into xcode10-rebase-15.8 2018-08-13 21:04:56 -04:00
Rolf Bjarne Kvinge fd05ba6a79
[mtouch] Show warnings when we can't find referenced assemblies. (#4511)
* [mtouch] Show warnings when we can't find referenced assemblies.

This would have helped track down #4235.

* Improve MT0137 warning to indicate the type of the attribute causing the warning.
2018-07-30 10:55:23 +02:00
Rolf Bjarne Kvinge 215ab7fc1a
[mtouch] Unify code to detect and handle frameworks that aren't supported in the simulator. Fixes #4422. (#4510)
Unify the code to detect frameworks that aren't supported in the simulator (we
had switches in two places, now this data is stored per framework).

Also remove some of the Metal frameworks for some of the platforms from these
lists (since they're now available in the simulator in some cases), which
fixes #4422.

It also seems CoreAudioKit is now available in the simulator (it wasn't in the
first Xcode 7 beta, but apparently added in a later beta. This made our
exclusion incorrect, but we never noticed).

https://github.com/xamarin/xamarin-macios/issues/4422
2018-07-27 16:30:08 +02:00
Rolf Bjarne Kvinge 9e31d07ecc [mtouch] Fix build from csproj. (#4503) 2018-07-25 15:43:38 -04:00
Marek Safar 10d98e67d8 [mtouch] Pass features not available on iOS to linker (#4426) 2018-07-24 22:30:18 -04:00
Miguel de Icaza ee4faee1c9 [Network] Declare the Network library in the relevant places 2018-07-05 15:01:47 -04:00
Rolf Bjarne Kvinge 0d31720770
Use libc++ instead of stdlibc++ when compiling with Xcode 10. (#4348)
Xcode 10 doesn't ship with stdlibc++ anymore, we need to use libc++ instead.

This is documented in Xcode 10's release notes:

> Building with libstdc++ was deprecated with Xcode 8 and is not supported in Xcode 10 when targeting iOS. C++ projects must now migrate to libc++ and are recommended to set a deployment target of iOS 7 or later.

This fixes a problem when compiling certain system headers as Objective-C++.

References:

* https://twitter.com/jeremyhu/status/1003882060556062720
* https://stackoverflow.com/a/50734510/183422
* https://trello.com/c/PsHpNHq6/113-40824697-scenekith-doesnt-compile-as-objective-c
2018-06-28 14:49:22 +02:00
Ludovic Henry bc492585d1 Bump to mono/2018-04 (#3856)
* Bump mono to 2017-12

Commit list for mono/mono:

* mono/mono@4116105b8b [monodroid] Build linker-analyzer tool for monodroid
* mono/mono@34634352e1 [interp] Fix build when disabled (2)
* mono/mono@4b62c55e7d [runtime] Fixes issue when compiling with -no_weak_imports
* mono/mono@9a2543e8c0 Merge pull request #6275 from vargaz/2017-12-6191
* mono/mono@a68cfd2ffa Merge branch '2017-12' into 2017-12-6191
* mono/mono@84f05e8817 [interp] disable weak-fields.exe (#6191)
* mono/mono@ea6f8ab201 [aot] Fix aot+llvm after the weak field changes. (#6248)
* mono/mono@17f4b4286f [threads] Fix leak of gchandle to MonoInternalThread
* mono/mono@4f130913c6 [mini] isalnum() respects encoding in python3, we only want to have ASCII chars (#6199) (#6265)
* mono/mono@dd1faf6f54 [android] Android NDK does not contain API level/platform 12
* mono/mono@febbfd1e3e [interp] Fix build when disabled (#6224)
* mono/mono@0c5a524e50 [tests] Disable weak-fields.exe on FullAOT as well
* mono/mono@ec4a957151 Bump version to 5.10 (#6157)
* mono/mono@58618dea1e [tests] Disable weak-fields.exe on ARM
* mono/mono@a21fb19fc7 [mcs] Don't emit tuple names for a private types
* mono/mono@db05a2523c [llvm] Update the llvm backend to work with the 2017-12-01-31d7f39423874d52922c06484f2c2af216844b4d branch of the mono llvm fork. (#6143)
* mono/mono@2bab8fa49e [Profiler] Fix parsing bug when `jit` is enabled
* mono/mono@5bdaef7e5f [runtime] Add support for weak fields. (#5972)
* mono/mono@d107f0852c [jit] Fix the DISABLE_JIT build. (#6152)
* mono/mono@e2e34c157c [linker-analyzer] Fix error reporting
* mono/mono@0ae98538f6 Merge pull request #6148 from alexrp/profiler-stress-msbiology
* mono/mono@f714138216 [acceptance-tests] Disable the msbiology test completely.
* mono/mono@ce96441a10 [mem access] don't do regular store if it's already handled by the unaligned case
* mono/mono@465e2036d3 [w32handle] Don't enter GC SAFE around calls to w32handle_wait_{one,multiple} (#6132)
* mono/mono@f079d5f961 [interp] move interp functions into a callback
* mono/mono@13d221bf40 [mini] Add missing try holes
* mono/mono@f408d2c4c4 [log] Rework MONO_TRACE_* to allow for nested io-layer masks (process, file, handle, etc.) (#6138)
* mono/mono@c12b749434 Merge pull request #6134 from alexrp/master
* mono/mono@225071a2a5 [llvm] Fix the build. (#6142)
* mono/mono@c8bf8c287a     [runtime] Replace the C and perl versions of the genmdesc tool with a python version. (#6140)
* mono/mono@3635db23fc Cleanup unused MONO_DISABLE_SHM env var (#6141)
* mono/mono@9c2c689a61 Mini h cleanup (#6072)
* mono/mono@dcbc55c615 [msvc] Update csproj files (#6137)
* mono/mono@73c6a2ee50 Merge pull request #6135 from YuriyGS/DataGridViewCell-Border
* mono/mono@26de079c89 [profiler] Correctly encode counter type/unit/variance values.
* mono/mono@be6c2af639 Additional cell paddings in TextBoxCell:  - 1 pixel for right and bottom to compensate cells CellBounds overlapping;  - one more pixel for top, right and bottom to have one pixel gap between text and border. Left border had a good gap already (why?). No call DrawText for cell if there is no rectangle at all.
* mono/mono@384a163cfa Drawing row & column divider and take it into account for drawing borders. Implemented paint for all missing border styles.
* mono/mono@0c873d207a AdjustCellBorderStyle - implemented edge/non-edge header/non-header row and column border styles fixed. Fixed singleVerticalBorderAdded and singleHorizontalBorderAdded flags for the AdjustCellBorderStyle method call.
* mono/mono@2bd75f83ea Outset and SingleHorizontal border styles fixed
* mono/mono@0239710580 [profiler] Ensure the profilers behave sensibly when loaded during AOT compilation.
* mono/mono@0c88bc2ca3 Merge pull request #6115 from alexrp/profiler-lls-fix
* mono/mono@804979969a Merge pull request #6110 from alexrp/master
* mono/mono@370fd7bb86 un-commented HmacSha256Signature bug 35661
* mono/mono@c5d3bf2428 [msvc] Update csproj files (#6131)
* mono/mono@33afa19ce3 [mcs] Implements C#7.1 default literal
* mono/mono@425c62c5da [interp] disassembler for mint instructions should return a string instead of printing char by char (#6114)
* mono/mono@c79c456bd8 Merge pull request #6043 from kumpera/wasm-p2
* mono/mono@58d94f4f7f [loader] Don't assert on abstract methods in get_method_constrained (#6109)
* mono/mono@b4eb34de9b Merge pull request #6121 from akoeplinger/bump-msbuild
* mono/mono@38cc502132 [ci] Make bockbuild step fatal for run-test-mac-sdk.sh
* mono/mono@8d1ef54321 [ci] Skip System.Runtime.CompilerServices.Unsafe tests on arm32 too
* mono/mono@c36f5afb58 [profiler] Add an assertion to the log profiler to catch the thread resurrection case.
* mono/mono@22d22ff3d5 [profiler] Remove tools_thread checks when raising profiler thread events.
* mono/mono@cd46e14ee4 [profiler] Use thread_exited profiler event for recording thread end events.
* mono/mono@832e161fc9 [profiler] Add thread_stopping and thread_exited profiler events.
* mono/mono@8d487ae8e2 Bump bockbuild to upgrade expat library (#6093)
* mono/mono@c92f638d2e [interp] small improvment for error reporting in interp compile method callback
* mono/mono@7ed2c02d0c [aot] encode interp_in wrappers with proper signature
* mono/mono@fcfaf09acb [interp] fix copy/paste-typo in n2m macro magic
* mono/mono@ccc1bd2c18 [aot] add more signatures for interp_in wrapper needed for iOS
* mono/mono@afea7b6c79 [System] Add corefx tests for System.CodeDom (#5623)
* mono/mono@eb11cee53c Bump msbuild to xplat-master branch
* mono/mono@0927d51418 [runtime] Implement a few ModuleBuilder getters (#5787)
* mono/mono@b3fad3f0f8 [msvc] Update csproj files
* mono/mono@f5fc773512 [w32handle] Pass MonoW32Handle to more places (#5570)
* mono/mono@87500ea50a [profiler] Improve nodefaults usage.
* mono/mono@ea10d2f2f8 Bump API snapshot submodule
* mono/mono@6be02ed6c7 Don't run System.Runtime.CompilerServices.Unsafe tests due to JIT crash on i386
* mono/mono@3b00c67e0a Bump API snapshot submodule
* mono/mono@82151ac4fa [corlib] Adds Span/Memory tests
* mono/mono@2ab06befe9 [profiler] Make it possible to trigger heapshots from the M.P.L library.
* mono/mono@dcf567ff64 [mcs] Populate referencecontainer member-cache correctly. Fixes #60860
* mono/mono@c1fd42eac8 Merge pull request #6097 from mono/slluis-patch-1
* mono/mono@984f648466 [sdks] Use runtime logging features to intercept Console.{Out,Error} and runtime logs for instrumentation (#6083)
* mono/mono@20de41832a Merge pull request #6078 from alexrp/profiler-docs
* mono/mono@41a3571272 [acceptance-tests] Run shorter version of GCStress on PRs and update targets (#6106)
* mono/mono@198147add4 Fix MonoContextSimdReg usage on non-glibc Linux amd64(#6007)
* mono/mono@b25e55028b Merge pull request #6101 from DavidKarlas/gcrootFromStart
* mono/mono@a84fa6652f [msvc] Update csproj files (#6105)
* mono/mono@6ed4adc2d8 [System][Test] Only Xamarin.iOS has a synchronization context by default.
* mono/mono@22f0977132 [ci] Update acceptance-tests
* mono/mono@22adb80c21 Update roslyn tests
* mono/mono@5f7452f384 Merge pull request #5273 from vladimir-kazakov/xmlenc-from-corefx
* mono/mono@f3706fac10 [profiler] Report GC roots outside of heapshots unless the nodefaults option is given.
* mono/mono@46c997fdf7 Bump API snapshot submodule
* mono/mono@82bca175c4 [LogProfiler] Removed GcRoot events logging from start GcRoots should only be reported/captured during heapshot. We already set callback when heapshot collection starts and unset it when heapshot is finished. Which means after 1st heapshot is taken we don't log them outside heapshot. Hence we shouldn't be logging them from start...
* mono/mono@e51565c7e5 [msvc] Update csproj files (#6100)
* mono/mono@9ed8574570 XMLENC from .NET Core.
* mono/mono@031405e9cc [corlib] Fix flaky ThreadPoolTests.AsyncLocalCapture test (#6099)
* mono/mono@e8e92e5323 [genproj] Support setting /langversion in csproj (#6096)
* mono/mono@d29cc4770a [bcl] Remove the test for ExecutingAssembly.EntryPoint, it behaves in different ways on different configurations. (#6095)
* mono/mono@b736b420b5 Fix invalid enum values in LogGCEvent
* mono/mono@ec117584a2 [corlib] Update exception message to match .net
* mono/mono@4f0fd2a59b [mini] Align stack when resuming to catch handler
* mono/mono@3325bdfbd5 [mini] Add counter for try holes memory usage
* mono/mono@78933c423f [mini] Add missing try holes
* mono/mono@98d3906a39 [mini] Fix clause try hole checking
* mono/mono@5ef930b5f8 [bcl] Build some assemblies with -warnaserror (#5295)
* mono/mono@7b4dfeebc4 Merge pull request #5836 from marek-safar/corefx-bump
* mono/mono@edc590a3d3 Bump API snapshot submodule
* mono/mono@4535442e84 [ci] Switch .pkg PR build to pipeline script as well (#6092)
* mono/mono@484a9089a8 [corlib] Disable test check which is timezone dependent
* mono/mono@e663bd7c92 Exclude any Mono marked corefx tests
* mono/mono@5eb884bab8 Fixes wrong argument name
* mono/mono@431e36f731 Bump mcs bootstrap version
* mono/mono@1cc3bc58be Bump corefx
* mono/mono@ecd85dc839 [build] Support api-snaphot assembly references
* mono/mono@5c2a49f4b6 Add back some more legacy profiler APIs (#6044)
* mono/mono@00e2b06f2f Bump cecil & linker to latest. (#6081)
* mono/mono@c2fceeaf39 [tests] Adjust ifdefs to get the expected behavior for Xamarin.Mac/Modern tests. (#6086)
* mono/mono@19a7107a03 [tests] Adjust ifdefs to get the expected behavior for Xamarin.Mac's cryptography tests. (#6091)
* mono/mono@9107efe94d [api-diff] Only delete .cs files in the api diff
* mono/mono@7ed25b0be4 [msvc] Update csproj files (#6087)
* mono/mono@011d28de46 Bump roslyn
* mono/mono@16cf089281 [profiler] Clean up the AOT profiler a bit.
* mono/mono@0f985ed885 [profiler] Skip lines not starting with +/- in coverage filter files.
* mono/mono@76872edd27 [profiler] Use a new suppression file for the coverage profiler.
* mono/mono@d1748f7c58 [profiler] Remove coverage options from the help text in the log profiler.
* mono/mono@7c8f5e02b2 [profiler] Don't document the nocalls option.
* mono/mono@9b0c6fc45d [profiler] Exit when printing the usage info.
* mono/mono@0d123027b0 [profiler] Remove the iomap profiler.
* mono/mono@c7f9875f27 [man] Rewrite the profiler-related man pages.
* mono/mono@cbe30987b0 [samples] Clean up the profiler sample and add a simple makefile.
* mono/mono@0abcdc9c60 [mprof-report] Include domain and context reports in the default set.
* mono/mono@8ab10ff01d [profiler] Document the AOT profiler file format.
* mono/mono@53084a4098 [profiler] Add a comment to profiler-events.h about backwards compatibility.
* mono/mono@80788a3c50 [docs] Improve profiler API documentation.
* mono/mono@908d10de6c [exdoc] Don't transform newline characters to spaces.
* mono/mono@528e793ce3 [exdoc] Support Doxygen-style code blocks.
* mono/mono@aa19b6aa18 [exdoc] Support more Doxygen-style formatting.
* mono/mono@5d2febd966 [exdoc] Don't insert unnecessary tab characters.
* mono/mono@076632c3e9 Remove CodeDomConfigurationHandler from machine.config (#6070)
* mono/mono@718247da6f [bcl] Remove an ObjCRuntime reference from the TimeZone tests, it shouldn't be needed any more, and it prevents the tests from compiling on the monotouch profile. (#6079)
* mono/mono@f1f3ae49f0 [sdks] Fix Android pick of mono runtime (#6080)
* mono/mono@9d6f430994 Merge pull request #6067 from lambdageek/bug-60545-fixup-ginst
* mono/mono@8aed7ab89c [aot] Add generic instances referenced by MONO_PATCH_INFO_METHOD_RGCTX patches. Fixes #60771. (#6075)
* mono/mono@c8cd5a5710 Use image set to store and allocate MonoClass representing arrays and pointers whose elements types may contain generic instances from other images. This can be true for array element classes which are generic instances (List<NonCorlibTyp>[]) or arrays (List<NonCorlibTyp>[][]).
* mono/mono@ddace393cf [bitcode] Disable test_0_float_return_spill in bitcode to get green tests. (#6073)
* mono/mono@27eed3574d [ci] MSBuild related fixes (#6071)
* mono/mono@8e09c454f4 [wasm] Rewrite m2n-gen in C#
* mono/mono@6549011576 [wasm] Address review issues.
* mono/mono@8ea4864f30 [sdks] Add an ios test runner. (#6063)
* mono/mono@9a882ab9cf [class] Make some class setup methods mistakes less costly to make (#6048)
* mono/mono@d3c7faa750 [ci] Add Jenkins pipeline script for building OSX and Windows packages (#6065)
* mono/mono@7e9074b54c [loader] inflate constrained result if constraining an inflated generic method
* mono/mono@ef0f3a53f3 [msvc] Update csproj files (#6066)
* mono/mono@1f59d0958f [bcl] Add an .exclude file to disable some corlib tests when running with the mono sdk. (#6064)
* mono/mono@e5248979fe [sdks] Update Android for integration with XA (#6058)
* mono/mono@6beed5f791 [System.Net.Http]: Fix "Content-Length: 0" logic for requests without body.
* mono/mono@a178a5273a [runtime] Move mono_aot_can_dedup into aot-runtime
* mono/mono@2c160ed9a7 [mcs] C# 7.2 ref struct feature
* mono/mono@73bd521c07 Bump NuGet.BuildTasks (#6004)
* mono/mono@a6e7c1f81c [tools] Fix .apps generated by MacPack not running when Mono 5 is installed on macOS (#6024)
* mono/mono@fab0ce54d3 [System.Windows.Forms] FileDialog internationalization (#6052)
* mono/mono@21ba3d0d9d [corlib] Move System.Runtime.InteropServices.RuntimeInformation to co… (#6060)
* mono/mono@3259e04ace [loader] Rework get_method_constrained (Fixes #60545)
* mono/mono@92f20ae75d [tests] Mono test for contravariant constrained.callvirt
* mono/mono@0bbc3e8c15 [runtime] Cleanup mono_runtime_get_main_args
* mono/mono@009b508174 Fix the ios build with recent xcode/osx, add comments about possible targets. (#6056)
* mono/mono@dae27ef2ba Fix CryptoConfig.CreateFromName on XM Modern (#6029)
* mono/mono@a985310287 Disable a new test, it's crashing the interpreter
* mono/mono@e5a8111a64 [mcs] Better typed-ref deconstruction for indexers. Fixes #60680
* mono/mono@1d7ec6a3d7 Bump API snapshot submodule
* mono/mono@7a22e06622 Bump cecil
* mono/mono@b44333823d XmlReaderSettings.EnableLegacyXmlSettings should always be false on mono. Fixes bug-60621 (#6014)
* mono/mono@f1a22f31a7 [runtime] Fix test makefrag to accomodate moved tests
* mono/mono@c498a00479 [bcl] Fix the ResolvePathBeforeDirectoryExists test on the mobile profile.
* mono/mono@c2ea774d4c Revert "[touchup] Use HANDLE_FUNCTION_RETURN_OBJ instead of HANDLE_FUNCTION_RETURN_VAL (no change in behavior)"
* mono/mono@9c64c7d390 Merge pull request #6030 from luhenry/corefx-switch-to-c
* mono/mono@29d2176893 Merge pull request #6045 from chamons/bump_master_cecil
* mono/mono@e608ed2386 [touchup] Use HANDLE_FUNCTION_RETURN_OBJ instead of HANDLE_FUNCTION_RETURN_VAL (no change in behavior)
* mono/mono@24fc118eef [sdks] Cleanup wasm targets (#6025)
* mono/mono@18fb8563fb [touchup] Remove redundant code
* mono/mono@5cf1aada52 Merge pull request #6017 from monojenkins/update-csprojs
* mono/mono@421f8553fb Merge pull request #6042 from Unity-Technologies/winrt-time-zone-adjustment-rules
* mono/mono@e3862cb004 Bump cecil
* mono/mono@937fcd1023 [wasm] Unbreak EH
* mono/mono@9a143f99ca [wasm] Fix signature of Monitor::Enter icall.
* mono/mono@82e9c5ccd7 [sdks] Adjust debug spew to help debug GC issues.
* mono/mono@1b9e3ec070 [sdks] Add code to run corlib test suite.
* mono/mono@04d0d026b8 [sdks] Remove debug spew from new nunit driver and add option to run a single test.
* mono/mono@3d80b0b50e [wasm] Don't abort on thread creation, simply fail it.
* mono/mono@0d10ad9a26 [wasm] clock_gettime fails on with EINVAL. gtod works just fine.
* mono/mono@c8ed7a1715 [wasm] Current version of libc abort on getpwnam.
* mono/mono@426109e9c9 [wasm] Rework incremental test runner to work more closely to how nunit works WRT setup steps.
* mono/mono@9e8a648fa7 [wasm] Build the runtime with ASSERTIONS=2 for now to get better crash  diagnostics.
* mono/mono@cb8d515c00 [wasm] Update the wasm m2n tramps.
* mono/mono@d9224b10b2 [interp] Make assertions more usable.
* mono/mono@48c111e123 [wasm] Add better implementation of mono_w32file_get_volume_information.
* mono/mono@fed2587457 [wasm] Return actual stack bounds instead of phony values.
* mono/mono@0d6f22f04c [wasm] Mono relies waaaay too much on mmap returning zero'ed memory, so just do it.
* mono/mono@7cb492db00 [util] Properly Initialize the last entry of a superblock instead of relying on mmap returning zero'd memory.
* mono/mono@88e9d00c52 [corlib] Add wasm source lists for test suite.
* mono/mono@07d07ad907 [wasm] Switch to an incremental nunit test runner to make sure the main thread gets pumped regularly.
* mono/mono@491f4b651f The return value of GetDynamicTimeZoneInformationEffectiveYears in the successful case is ERROR_SUCCESS (0). Adjust failure case to be for return values non 0.
* mono/mono@af08374ef2 [msvc] Update csproj files
* mono/mono@3e1eeec6c3 [System.IO] Directory.Exists() now resolves the full path first. Fixes #60267
* mono/mono@2bb178c7a8 [runtime] Increase the BCL imt trampoline count (fix tests)
* mono/mono@1f4bd60284 [lldb] update interp main loop function name
* mono/mono@4d02be3abf [interp] only access arguments on frame if there are any for sure
* mono/mono@5bc422d733 [interp] end of a clause can point _after_ the last instruction
* mono/mono@d416f570bd Merge pull request #6003 from kumpera/profiler-compat-mode
* mono/mono@b488cacd50 [corefx] Bump corefx to pick switch of System.Native to C
* mono/mono@0435b2ba16 Merge pull request #6027 from lewurm/fix-DefaultThreadCurrentCultureIsIgnoredWhenCultureFlowsToThread
* mono/mono@8a82b292fb Update GdipGetImageDimensions tests to pass against Windows GDI+ (#6008)
* mono/mono@51a8a45906 Fix big endian build problem
* mono/mono@ae9cef9103 [corlib] fix DefaultThreadCurrentCultureIsIgnoredWhenCultureFlowsToThread test
* mono/mono@375471820c [corlib] Don't capture the execution context when UnsafeRegisterWaitForSingleObject is used. Fixes #60029 (#6013)
* mono/mono@c0f6935b45 [sre] Don't warn about duplicate token for MonoArrayMethod
* mono/mono@8b7df777bb [test] Regression test for 60238
* mono/mono@bcaca2dbaf [bcl] Add a Mono.Runtime.Tests assembly which can be used to run the JIT regression tests using nunit. (#6015)
* mono/mono@401ed4d16c [System.Process] Consider `open`'s exit code when using it to start a process. Fixes #19503 (#6010)
* mono/mono@2cc1ae3b29 Provide a special implementation of ReadToEnd for CStreamReader so that it echoes input characters correctly when TermInfoDriver is initialized instead of suppressing them. Fixes bug #40699.
* mono/mono@ca8b8bd346 [runtime] Add Dedup Support to MkBundle (#5484)
* mono/mono@50fa04c136 [runtime] Implement runtime support for inflated wrapper and generic dedup (#5349)
* mono/mono@115b290143 [runtime/corlib] Improve MissingMethodExceptions by including message… and signature. Fixes #60505
* mono/mono@43a23e71e5 Bump API snapshot submodule
* mono/mono@6910dd4bc0 [System.Data] Add missing Microsoft.SqlServer.Server APIs
* mono/mono@c58ab6f4cb more readable assignment
* mono/mono@93ad6575a5 [metadata] make get_darwin_locale thread-safe
* mono/mono@3318b29704 Merge pull request #5985 from YuriyGS/bug60514
* mono/mono@67160915c9 [profiler] Restore 'counters' and 'sampling-real' options
* mono/mono@52d836f5e2 Fix icall parameters to use managed boolean type. (#6006)
* mono/mono@2255c54966 [external] bump nunit-lite in order to include fix for racy FinallyDelegate
* mono/mono@0bba45f06e [interp] fix build on windows (#6000)
* mono/mono@a5248e5e11 [bcl] bringing back InetAccess test category
* mono/mono@a6c2080c24 Merge pull request #5759 from luhenry/w32process-refactor-mono_w32process_get_fileversion_info
* mono/mono@26b76cb879 [profiler] Make profiler arg parsing more compatible with previous version.
* mono/mono@c445fa3262 [runtime] Initialize the min_align field of ptr classes, since they have the 'inited' field set, so mono_class_init_sizes () might not be called for them. Fixes #60634. (#5999)
* mono/mono@0257dcde58 [tests] Add disabled regression test for #49308 (#5997)
* mono/mono@33eb71ae07 [System] Fix DeflateStream crash with high concurrency on Read/Write/Close (#5994)
* mono/mono@bf1b5dced0 [sdks] Remove passing AndroidRunner instance to C# and back (#5988)
* mono/mono@2f308109e1 Fix path to embedded glob.c implementation.
* mono/mono@d1ece840fe [mdbdump] Include guid in xml dump
* mono/mono@5f35ea4b68 [msvc] Update csproj files (#5995)
* mono/mono@05fae5f1fa Add ignoring features option into genproj
* mono/mono@2503f874ca Enable concurrent GC as default mode for Windows MSVC mono sgen builds.
* mono/mono@f23ce4f37e [corlib] Add more tests, embed linker descriptor xml in test assembly
* mono/mono@9afe9e1445 [interp] disable block_guard_restore_aligment_on_exit.exe on CI (#5991)
* mono/mono@d59f8a64ae [jit] Avoid nullifying LDADDR instructions in load_simd_vreg_class (), they could have references if explicit-null-checks are enabled. Fixes #60539. (#5979)
* mono/mono@af818a1709 [msbuild] Change the version used in bockbuild to just '15', instead .. (#5986)
* mono/mono@356c5aaef8 Using padding and border width
* mono/mono@4e43805a1e [Tests] Make Mono.Data.Sqlite tests more robust. (#5982)
* mono/mono@78be18ab99 Merge pull request #5917 from lambdageek/centrinel-ann
* mono/mono@295625bbb0 [sdks] Change how we run test suites on the app (#5894)
* mono/mono@00035e5b68 Include <config.h> in C files that include mono headers
* mono/mono@70807d5198 [coop handles] Mark handles macros with Centrinel SUPPRESS macros
* mono/mono@7d3dc331b5 Mark _MonoObject and managed object typedefs with MONO_RT_MANAGED_ATTR
* mono/mono@d244f6d2c7 Define MONO_RT_MANAGED_ATTR and MONO_RT_CENTRINEL_SUPPRESS macros
* mono/mono@ee20fc0ad9 Remove Boehm specific code path in GC aware hash tables as it can now push/mark roots.
* mono/mono@e348c56a01 [coop] Convert ves_icall_System_Environment_GetCommandLineArgs icall to use coop handles
* mono/mono@4b80cb6861 [bcl] Add .NET 4.7.1 reference assemblies (#5974)
* mono/mono@e45d72f4a8 Merge pull request #5969 from luhenry/backport-master-950ea65c3ba571cd139dc34b48d7101a2e894993
* mono/mono@a9e1c60a63 Merge pull request #5970 from lambdageek/bug-60245
* mono/mono@b78e9b5e98 [interp] disable Test.System.Threading.ThreadTest.TestUndivisibleByPageSizeMaxStackSize (#5966)
* mono/mono@69ec805ff3 [test] FieldInfo.{Get,Set}Value tests for ContextBoundObject
* mono/mono@cd2fd4d81d [remoting] Check for transparent proxy in ves_icall_MonoField_{Get,Set}ValueInternal
* mono/mono@40be6362c6 [System] Add missing ConfigureAwait (#5963)
* mono/mono@ea060b586d [Tests] Fix flaky IO tests due to parrallel execution on Mac bots.  (#5965)
* mono/mono@a45569fe37 [System] Fix NullReferenceException in Win32EventLog (#5949)
* mono/mono@198481639f [interp] clear stack on resuming into the main loop (#5959)
* mono/mono@865e344512 [System]: Override `SslStream.FlushAsync ()` to call the async version on the underlying stream. (#5960)
* mono/mono@a60b50417a [Facades] Use same assembly company/product/copyright attributes as other BCL assemblies (#5961)
* mono/mono@4e01b276ae [interp] enable it by default in configure (#5925)
* mono/mono@a62a7e7e96 Merge pull request #5924 from kumpera/wasm-sdk-integration
* mono/mono@a2649fe604 ignore quick syntax to exclude files in removecomments.sh for local-dist (#5958)
* mono/mono@e3d3433b76 Detect platform tizen and link profiler statically similar to Android.
* mono/mono@de771964ee Add missing build dependency to fix correct parallel build order.
* mono/mono@3c4b261617 [corlib] corefx tests from System.Threading.* and System.Text.RegularExpressions (#5762)
* mono/mono@3e9c2af62a [profiler] Improve NUnit xml reporting (#5954)
* mono/mono@83f9f3a813 Merge pull request #5950 from lateralusX/lateralusX/disable-join-thread-in-detach
* mono/mono@286e62e84d [runtime] Handle ENOTCONN/EHOSTDOWN in mono_w32error_unix_to_win32 (). Print a warning instead of asserting, there are lots of error codes we don't handle, map them to ERROR_NOT_SUPPORTED for now. Fixes #60422. (#5927)
* mono/mono@c3be0663c1 [System] Ignore tests that fail on device until the corresponding bugs have been fixed. (#5951)
* mono/mono@5ed0fab147 [wasm] Fix test driver and mono's JS support library.
* mono/mono@ec78917e10 Bump API snapshot submodule
* mono/mono@c5fa794e98 [bcl] Updates referencesource to 4.7.1
* mono/mono@e2a7e328d3 [mcs tests] clean up interp target
* mono/mono@43f03233f3 [interp] enable Mono.Debugger.Soft tests on CI
* mono/mono@acf3607795 Temporary disable adding thread to joinable threads on none Windows platforms.
* mono/mono@1a79065f8c Ensuring TextBox is properly updated upon setting/clearing password character. (#5947)
* mono/mono@035ad2f118 [mcs tests.make] control with TEST_WITH_INTERPRETER if `run-test` target uses the interpreter
* mono/mono@30fd079c90 [mcs make] introduce TEST_RUNTIME_FLAGS, analogously to TEST_RUNTIME vs. RUNTIME
* mono/mono@879f4bc60f [corlib] annotate failing tests when running in interpreter
* mono/mono@591ab6d34b [interp] properly resolve MonoType of MonoClassField via mono_field_get_type ()
* mono/mono@6f7025ba00 [interp] check interruption request flag properly after allocating an object
* mono/mono@88970711ff [interp] allow MONO_CALL_STDCALL calling convention on cee_calli insn
* mono/mono@292f8ac3c5 [interp] use checked variant of method_get_header and throw exception if there is an error
* mono/mono@dfca26c32f [interp] allow unsigned i8 in pinvoke signature
* mono/mono@9e6c430e5e Have Boehm mark handle stacks rather than using GC tracked memory. Unify handle memory across all GCs.
* mono/mono@29826908fc [interp] Make the interpreter use the JIT exception handling code. (#5943)
* mono/mono@5a88e085f3 [corlib] Fixes NullFullNameForSpecificGenericTypes for mobile profiles
* mono/mono@f58ba94f8c Add g_ptr_array_capacity to retrieve current size of GPtrArray. Allows clients to know if future additions will cause (re)allocations. (#5931)
* mono/mono@733b4a4c9f [ServiceModel.Web] Fix test by adding WebHttpBehavior to WebChannelFactory endpoint on MOBILE
* mono/mono@dc023c2fe0 Fix bug 57938 - FullName not returning null for certain generic types (#5920)
* mono/mono@f6e21efe14 [ci] Coverage-imposed build flags should take top priority (#5940)
* mono/mono@4272b68b76 [interp] Throw exception in case of field access failure
* mono/mono@8f3a51860d [interp] Enable some tests
* mono/mono@14d137029b [interp] Don't sigsegv on field lookup failure
* mono/mono@36d588d62f [interp] Don't assert on ldtoken failure
* mono/mono@5d056c0184 [interp] Fix error propagation from interp invoke
* mono/mono@4c8bff917c [interp] Avoid translating methods while holding a low level lock, make a copy of InterMethod instead, do the translation with the copy, and copy the results back inside the lock. (#5935)
* mono/mono@5fffc1b8cf [interp] Change 'class' to 'klass'
* mono/mono@174bea7caf Replace 'class' identifier usage with 'klass' to avoid compile errors in C++
* mono/mono@81feabe4c6 Consider Facades in Provides: too. Version number challenges remain. (#4874)
* mono/mono@c43d73cfd7 [System.Windows.Forms] Fixes #60435. DataGridViewRow.CreateCellsInstance method is never invoked
* mono/mono@151fa5590f Internationalization support for System.Windows.Forms: (#5886)
* mono/mono@fb0fe43283 [sdb] Make get_this_addr () work with the interpreter. (#5937)
* mono/mono@fa898df0fc [Tests] Fix zip tests on iOS devices. (#5939)
* mono/mono@5143b5a461 [Test] Fix System.IO.Compression.FileSystem tests on iOS devices. (#5938)
* mono/mono@9b9159cb4a [interp] Use xdomain wrappers as with normal jit
* mono/mono@5a1fa0f3df [interp] Don't rethrow current frame exception after an icall
* mono/mono@e2b59a234f [interp] Set correct stack type for icall return
* mono/mono@ae8d913b00 [interp] Fix constructor call on transparent proxies (#5934)
* mono/mono@01e767447b [sdks] Address reviewer suggestion.
* mono/mono@d1349d274f [wasm] Add test runner that executes the mini test suite.
* mono/mono@a0687c199c [wasm] Build the wasm profile is it was configured in.
* mono/mono@db00ae8496 [wasm] Update port to work with master.
* mono/mono@675b190455 [wasm] Workaround for emcc 1.37.22 that miscompiles the inline assembly.
* mono/mono@6f229c1a1b [sdk] Fix wasm build.
* mono/mono@5b118b84e5 [interp] disable appdomain-unload (crashes too often) and add comment (#5922)
* mono/mono@fa7623e0f3 [tests] Allow overriding Mono arguments for JIT and AOT scenarios.
* mono/mono@8ed81c060c Revert "[configure] Test AOT+LLVM if mono was configured to support both. (#5880)"
* mono/mono@033ccb6635 [System.Security] Simplify monodroid test excludes (#5919)
* mono/mono@3df4b8f7f6 [corlib] Add more Assembly*Attribute tests (#5918)
* mono/mono@80a20870af [sdk] Use single : in android target that doesn't get appended to.
* mono/mono@55cae500f5 [wasm] Add wasm-interp target to build the wasm interpreter based runtime.
* mono/mono@f124b4d1b8 Merge pull request #5912 from kumpera/bunch-of-changes-for-sdks
* mono/mono@b73480af34 [Tests] Ensure that only a subset of the System.Security tests are ran on mobile platforms.
* mono/mono@d49e8c32c4 [mkbundle] Enhanced mkbundle cygwin/mingw fallback support. (#5867)
* mono/mono@e0607c34f0 Debugger support for the interpreter (#5902)
* mono/mono@08bb8da2cc [System.Web] Reference source import (#5909)
* mono/mono@bea6d82e80 Unlock `sgen-fin-weak-hash.c`: - Unlock simple counters - Unlock the usage of `next_fin_stage_entry` and `fin_stage_entries` within `add_stage_entry ()`
* mono/mono@2bf3e7e3a9 Prepare `unlocked.h` for the upcoming changes: - add the `volatile` qualifier to all pointer parameters - add `UnlockedWritePointer ()`
* mono/mono@b259c836ab [jit] Move the code handling the MonoLMFExt structures from exceptions-<ARCH>.c to mini-exceptions.c, its the same on all platforms. (#5907)
* mono/mono@35acde58d4 Use getrandom() instead of /dev/urandom on Linux (#5851)
* mono/mono@32d2f28518 [sgen] Collect major after user requested minor collections
* mono/mono@9a879a1b11 [interp] disable broken test cases on CI (#5914)
* mono/mono@0dbdcf2e77 [Mono.Posix] Fix some socket tests on monodroid (#5915)
* mono/mono@8992f0fd05 [runtime] Remove the no_raise argument from mono_register_jit_icall_full (), no icalls call mono_raise_exception () anymore. Rename the 'is_save' argument to 'no_wrapper'. Allow inlining wrappers for all icalls. (#5897)
* mono/mono@92477b9583 [jit] Remove unused mono_interruption_checkpoint_from_trampoline_deprecated () JIT icall. (#5895)
* mono/mono@82579ce9ce Merge pull request #5879 from kumpera/wasm-work-p6
* mono/mono@d208927a5f [sdks] Add notes for the BCL build.
* mono/mono@c133304b95 [android] Fix compilation with recent ndk and sdk target < 16.
* mono/mono@6b3e68486a [sdks] Update bcl target to include wasm profile.
* mono/mono@cc9cb3f6d7 [sdks] Fix autogen invocation and respect Make.config options.
* mono/mono@79ef4d8eef [configure] Test AOT+LLVM if mono was configured to support both. (#5880)
* mono/mono@110888fd66 [interp] Enable more runtime tests for interpreter
* mono/mono@d5028868d3 Merge pull request #5685 from urisimchoni/callspec-ut
* mono/mono@da53cb0e08 [runtime] Rename mono_raise_exception_with_context_deprecated () back to mono_raise_exception_with_context (), its ok to use since it starts unwinding from the CTX argument which points into managed code. (#5896)
* mono/mono@fdcf7da3f4 [amd64] Remove the unused MonoLMF.rip field. (#5904)
* mono/mono@ff078951a5 [w32process] Reduce mmap allocation by mapping file only once
* mono/mono@9fdc0045ad [runtime] Avoid creating callbacks.interp_get_remoting_invoke if the interpreter is not enabled at runtime. (#5905)
* mono/mono@96361e3913 [arm64] Throw OverflowException instead of the more general ArithmeticException.
* mono/mono@ddd07a749f [System.Web] LoginTextLayout from reference source
* mono/mono@dd033ae341 Duplicate friend assembly names and add needed null terminator.
* mono/mono@1c15c3ebd3 Match amd64/arm64 in the way of handling exceptions within trampolines (#5891)
* mono/mono@f5915baa5d [sdks] Fix android configure with latests NDK
* mono/mono@cfba305b7e [corlib][Test] Ignore FileTest.SymLinkLoop until bug #59239 is fixed. (#5889)
* mono/mono@a043b26831 [System.Web] EmptyControlCollection from reference source (#5884)
* mono/mono@f871b90d5e [sdks] Fix Android build.
* mono/mono@ac4095a1ea [sdks] Improve path handling and include local conf file
* mono/mono@2856f523f6 [wasm] Add missing tramp
* mono/mono@4a28d3595c [runtime] fix prev commit build for Linux x64
* mono/mono@6b8b32b6fc [runtime] Fix unit test.
* mono/mono@e1b75723d7 Bugfix: 1.5 stop bits for serial port should set the posix stop bit flag (#5873)
* mono/mono@f2e658cdca [build] Add wasm profile
* mono/mono@6d9d804d62 [System.Web] TableFooterRow from reference source (#5882)
* mono/mono@0a320dbb95 [aot] Error out when using the coverage profiler + aot, its not supported. Fixes #60175. (#5881)
* mono/mono@adbf98b977 [System.Web] CompilationMode from reference source (#5878)
* mono/mono@1f1a1574c2 [System.Web] ScrollBars from reference source (#5869)
* mono/mono@6e529aafcc [System.Web] ObjectDataSourceEventHandler from reference source (#5868)
* mono/mono@5802f03926 [System.Web] WizardStepType from reference source (#5870)
* mono/mono@8e617d38da [System.Web] TableHeaderRow from reference source (#5866)
* mono/mono@aa39bf69f2 [System.Web] IndexedString from reference source (#5872)
* mono/mono@c17cc609da [System.Web] ImageClickEventArgs from reference source (#5871)
* mono/mono@59c42eacf4 [mono/unit-tests] add callspec unit tests for different classs same prefix
* mono/mono@e4b94aa495 [metadata] Avoid matching class with prefix name
* mono/mono@ec038ebb76 [mono/unit-tests] callspec unit testing
* mono/mono@c14b08013c [Microsoft.CSharp] Adds more tests
* mono/mono@b0919d93f9 [sdks] Source drop from xamarin/mono-sdks (#5876)
* mono/mono@55df935275 Merge pull request #5874 from vargaz/fix-60255
* mono/mono@eb9238c05e [jit] Throw the more specific OverflowException instead of ArithmeticException in the ldiv/lrem emulation functions. Fixes #60255.
* mono/mono@067809c50e Add an automated test that will fail if the list of feature names in CompilerServices.RuntimeFeature is changed (#5854)
* mono/mono@a348c12719 Bump roslyn
* mono/mono@5c75f593de Merge pull request #5764 from Unity-Technologies/save-resume-tramp-amd64-xmm-arg-regs
* mono/mono@13a9fb6c7a Merge pull request #5844 from vargaz/fix-60288
* mono/mono@b0983b83cd [mono] Update denied assemblies list
* mono/mono@82e2421819 Build fixes for none Windows desktop platforms.
* mono/mono@e3c239ccdc [arm] Add support for unlimited size/number of arguments to the dyn call code. Part of the fix for #59184. (#5840)
* mono/mono@0f045b1ded [System.Data] Cleanup after #4893 (PR) (#5841)
* mono/mono@00af82567c Bump corlib version for MonoIO coop handle changes.
* mono/mono@1ba4211147 [coop-handles] System.IO.MonoIO.Read
* mono/mono@498eb7dc58 [coop-handles] System.IO.MonoIO.GetCurrentDirectory
* mono/mono@72b5a0e99e [coop-handles] System.IO.MonoIO.get_InvalidPathChars
* mono/mono@6cdc5531dc [coop-handles] System.IO.MonoIO.FindNextFile
* mono/mono@b73d5302b1 [coop-handles] System.IO.MonoIO.FindFirstFile
* mono/mono@52786872cd [coop-handles] System.IO.MonoIO.Write
* mono/mono@77fd6e0846 [coop-handles] System.IO.MonoIO.SetFileAttributes
* mono/mono@16ebef70ed [coop-handles] System.IO.MonoIO.SetCurrentDirectory
* mono/mono@85f4b5b167 [coop-handles] System.IO.MonoIO.ReplaceFile
* mono/mono@8ea394429c [coop-handles] System.IO.MonoIO.RemoveDirectory
* mono/mono@847aec7167 [coop-handles] System.IO.MonoIO.Open
* mono/mono@0de5f20375 [coop-handles] System.IO.MonoIO.MoveFile
* mono/mono@e57d26ebaf [coop-handles] System.IO.MonoIO.GetFileStat
* mono/mono@794f17ef8b [coop-handles] System.IO.MonoIO.GetFileAttributes
* mono/mono@89647e4d20 [coop-handles] System.IO.MonoIO.DeleteFile
* mono/mono@26aaf7617d [coop-handles] System.IO.MonoIO.CreateDirectory
* mono/mono@477d5f3f70 [coop-handles] System.IO.MonoIO.CopyFile
* mono/mono@26ccf75f06 [msbuild] Add symlink to csc.exe in msbuild bin dir
* mono/mono@2b15f1e6b2 [runtime] Fix Windows build break due to renamed mono_error_raise_exception (#5849)
* mono/mono@4b702c8d6a [corlib] Updated LinkerDescriptor
* mono/mono@9502de7852 Merge pull request #5846 from kumpera/wasm-work-p5
* mono/mono@14a6854c79 [scripts] Build 64-bit package by default
* mono/mono@bc3ba3cb5d [arm] Make the generic trampoline call mono_thread_force_interruption_checkpoint_noraise () and throw the exception itself instead of calling the obsolete mono_interruption_checkpoint_from_trampoline (). (#5838)
* mono/mono@79d96a5a8d Fix WCF Windows Linux cross WCF-comunication via NetTcpBinding (without any security Transport|Message). (#5842)
* mono/mono@03ea90cf1f [bcl] Optimize Process.GetCurrentProcess ().MainModule. (#5843)
* mono/mono@cc67bfdcfc [runtime] Allow valuetypes larger than 1MB created by csc/mcs. Fixes #60288.
* mono/mono@f2e1f58a80 [interpreter] Fix the DISABLE_REMOTING build.
* mono/mono@77b4cd11d1 Only null check target for delegate if method is not static. (#5833)
* mono/mono@91a10ffd01 [runtime] Mark mono_raise_exception()/mono_reraise_exception() as external only. Add new _deprecated internal versions. (#5839)
* mono/mono@5edb2a54db [runtime] Improve diagnostics about methods that failed to LLVM-compile by including the typename in the message. (#5706)
* mono/mono@d60877b0f3 Fix tarball build
* mono/mono@2124bda984 Merge pull request #5830 from alexischr/wrench-tests
* mono/mono@7cde4806fd Merge pull request #5632 from luhenry/threads-rework-shutdown
* mono/mono@299ad0f1fd Merge pull request #5825 from BrzVlad/fix-interp-appdomain
* mono/mono@f5ee4a398c Add MacSDK test script
* mono/mono@dc732f0166 [jit] Fix #59182 for the coop case as well. (#5824)
* mono/mono@e9899e4bb1 [interp] Enable appdomain tests
* mono/mono@70cff6b6b0 [interp] Rethrow abort exceptions at end of catch
* mono/mono@043ee9f13d [interp] Interruption checkpoint during branches
* mono/mono@7483082d9a [interp] Handle remoting calls in delegates
* mono/mono@ea73165ca8 [interp] Add lmf when doing icalls
* mono/mono@ee98142c15 [interp] Don't generate remoting wrapper for normal calls
* mono/mono@111a6ed2ff [interp] Fix tls jit pointer fetch
* mono/mono@44b21bca28 Fix bug #58400 - incorrect implementation of LocalPath for file URLs (#5779)
* mono/mono@c26e069703 [interp] remove setjmp/longjmp unwinding machinery
* mono/mono@5e6893ad48 [interp] remove unused ves_exec_method
* mono/mono@15bb34e6d6 Merge pull request #5785 from BrzVlad/fix-59153
* mono/mono@30b5ea7cd9 [MonoError] Add goto_if_nok to reduce duplicated code (#5834)
* mono/mono@f5aca1da30 [tests.make] Filter out comments from test.dll.sources for TEST_FILES
* mono/mono@a8dab358d9 [interp] do not attempt to transform method of open generic class
* mono/mono@1df82c2d51 [threads] Also abort background threads on shutdown
* mono/mono@0b40428d59 [threads] Let mono_thread_detach_internal remove thread from threads
* mono/mono@1538798867 Merge pull request #5778 from alexischr/bug-56003
* mono/mono@61559965a1 [System.Data] move to corefx (#4893)
* mono/mono@ce596ec25c Save and resume full 128-bits of xmm argument registers in trampoline. Add definition of MonoContextSimdReg on amd64 for Windows platform and use for size/offset calculations.
* mono/mono@c50b4ef9c7 [msvc] Update csproj files (#5832)
* mono/mono@5a7d6e3d9a Fix spiller when the dest membase optimization intereferes with lvreg caching. Fixes #20562 (#5747)
* mono/mono@0f9bbb90fb [runtime] Rename atomic functions from the win32 style naming to mono_atomic_<op>_<type>, with a consistent signature on all platforms, including Windows implementation. (#5767)
* mono/mono@1e29ed0d7e [System.Core] Remove duplicated test classes (#5829)
* mono/mono@8af88bd0e6 Update root gitignore (#5831)
* mono/mono@ceec5e9786 [coverage] Fix the printing of nested generic instances. Fixes #60224.
* mono/mono@9cce09b0a2 [runtime] Workaround for verifier bug #59967
* mono/mono@c763b4a250 Bump Roslyn
* mono/mono@6caf00b09c [bcl] Remove AssertExtensions helper classes (#5828)
* mono/mono@cfedbd7aa2 replace min with MIN
* mono/mono@eb5fa1fced fix code-style issues
* mono/mono@bbb109bd03 limit max possible threads in ThreadPool (SetMaxThreads). Fixes bug-60027
* mono/mono@dbb0872f49 [corlib] Adds ValueTuple tests
* mono/mono@0ccfa87a91 [System.URI] Don't reset host string processing on Unicode paths. Fixes #56003
* mono/mono@df37bb7a7c [mini] Don't attempt to compile method of open generic class
* mono/mono@0b60a62ee7 [interp] use POP_VT macro
* mono/mono@6684e29f7a [interp] check stack_type in cee_ldobj
* mono/mono@7777d78b16 [System.Net] Tweak tests for watchOS
* mono/mono@71997d296f [llvm] Fix the returning of vtypes using a hidden argument in bitcode, in some cases, we forgot to generate the code to return the value, causing random data to be returned. Fixes #59956. (#5786)
* mono/mono@17d86bd264 [msvc] Update csproj files (#5823)
* mono/mono@5440d5718b [runtime] Avoid an assertion in mono_profiler_get_coverage_data () if the method doesn't have a body. (#5777)
* mono/mono@e7736ca5cc [ppdb] Add a log message when an assembly has no ppdb debug directory. (#5795)
* mono/mono@1d0e803fbb [runtime] Don't crash when method/assembly with no code coverage does not have debug symbols
* mono/mono@3d00ea31a7 [sre] Register a canonical reflected method for a methodspec token. (Fixes #60233) (#5813)
* mono/mono@4bd3aa2158 [bcl] Update PlatformDetection helpers
* mono/mono@e87cc4822c Bump xunit dependency
* mono/mono@618ef61ae9 [eglib] check if result is set
* mono/mono@464c5916d5 [bcl] Fix test assembly build for monodroid profile (#5808)
* mono/mono@afb822af07 Merge pull request #5803 from BrzVlad/fix-small-warning
* mono/mono@bdababe715 [bcl] Add dependency on .exclude.sources to test assembly (#5804)
* mono/mono@9c2a4ff286 [mini regressions] enable aot-tests.cs & gshared.cs on more configurations (#5791)
* mono/mono@2a294c432e [interp] do not run mcs/tests on ARM on CI
* mono/mono@87694b9ed0 [mcs/tests] make test harness output more verbose on V=1
* mono/mono@d12dda34e4 [mcs/tests] add interp target
* mono/mono@f2bab1910d [linker] update referenced source files
* mono/mono@8e3867013a Bump linker
* mono/mono@9ff18d1dca [msvc] Update csproj files (#5805)
* mono/mono@2d63c93d06 [interp] use correct code base pointer and set native_offset
* mono/mono@acb5f68e3e [interp] avoid leaking MonoMethodHeader data structure by freeing or avoiding it
* mono/mono@d055f9e21f [interp] fix minor leaks around wrappers
* mono/mono@d9922895d4 [monodroid] Enable a number of tests (#5799)
* mono/mono@d8d4307293 [sgen] Fix warning
* mono/mono@c399c787c8 [I18N] Add more encoding tests
* mono/mono@25ad948e02 [corlib] Add corefx System.Text.Encoding tests
* mono/mono@83af047720 [corlib] Add tests for EncoderFallback
* mono/mono@e8ad2487f3 [corlib] Use Latin1Encoding from referencesource
* mono/mono@4c4d3dcdc5 [I18N] Remove commented code from ucm2cp.c
* mono/mono@73eed5d415 [I18N] Fix wrong charIndex in encoder fallback
* mono/mono@8593149b0b [build] Add code coverage mode (#5789)
* mono/mono@606f40e708 [corlib] Fix SRE.SaveTest error during teardown on Windows
* mono/mono@66f11a1699 Merge pull request #5715 from BrzVlad/fix-alpine-context
* mono/mono@dd1a39dbc6 [amd64] Get xmm registers only when on glibc
* mono/mono@c89a3e55b7 [Mono.Posix] Use TestHelper code from monodroid repo (#5793)
* mono/mono@a1cc4dfedb Merge pull request #5788 from BrzVlad/fix-handle-track-sp
* mono/mono@23d2615f3d Merge pull request #5782 from YuriyGS/bug60115
* mono/mono@3a8e4fcfd4 Merge pull request #5781 from lateralusX/lateralusX/fix-thread-suspend-windows
* mono/mono@d4b2024871 [coop handles] Add comment to prevent hard to debug bugs
* mono/mono@69b9f11b6f [coop handles] Fix monotonic handle check race with stw in mono_handle_new
* mono/mono@1f1edce576 [coop handles] Add log entry about successor handle
* mono/mono@dc2d1c291f [coop handles] Fix monotonic check
* mono/mono@23d2ee726d Merge pull request #5753 from alexrp/wsl-fixes
* mono/mono@1dcaf8fddc Added validation on acceptable date interval when update SelectionRange property. Fixed loss of focus when the user presses the arrow buttons and shift.
* mono/mono@efdf035cfb [arm64] use DMB ISH barrier instead of undefined barrier option
* mono/mono@8dead2a644 [arm64] update definitions for barrier option of DMB
* mono/mono@959eb46e17 [mono-context] Work around a WSL bug when fetching XMM registers.
* mono/mono@d73e8be1de [mcs] Fixes parsing tuple name inside generic type in method header block
* mono/mono@f53ce8e180 Fix random failures in sgen stress tests on Windows due to `mono_thread_is_gc_unsafe_mode assert.
* mono/mono@8eb2c02d7e [acceptance-tests] Reenable ms-test-suite test after Mono bug was fixed (#5776)
* mono/mono@1c4d741a02 [corlib/Test] Check for "Israel Standard Time" zone on Windows.
* mono/mono@ce19b84529 [corlib] Remove a broad try/catch.
* mono/mono@b86c084cbc [corlib] Use full years for transition rule start/end ranges.
* mono/mono@6d4821b282 fix formatting issues
* mono/mono@55fb7bcda1 fix bug-60031 Thread doesn't throw ThreadStateException when it should
* mono/mono@308ce3f5c3 [tests] Remove test from runtime-invoke.cs
* mono/mono@7a452797f1 [tests] Re-enable appdomain-thread-abort.exe (#5736)
* mono/mono@db8183c9d8 [debugger] Fix LineNumbers test (#5744)
* mono/mono@43757d67ef [msvc] Fix MONO_CORLIB_VERSION to match configure.ac (#5770)
* mono/mono@81f7d591d7 Merge pull request #5741 from alexischr/bug-60028
* mono/mono@663754bf46 [mini helpers] fix disassembly on aarch64
* mono/mono@4fe87bd820 [corlib] Adds more tests
* mono/mono@03474ba9e2 Fixed unhandled exceptions in EndPointListener.cs (#5724)
* mono/mono@abd4a6a57b Merge pull request #5746 from kumpera/fix_56194
* mono/mono@286aa03847 [interp] remove wrong checks, as cee_mkrefany and cee_refanyval only take one argument on the stack
* mono/mono@d8bd874fe4 [interp] assume `this' always to be platform pointer size
* mono/mono@49b29bfce8 [interp] flag mint_box instruction if value type stack should be popped too
* mono/mono@1f580e17b8 [interp] bail out on __arglist and propagate MonoError properly in transformer
* mono/mono@3468d54fbb [interp] set stack type properly for ldelem_vt
* mono/mono@b05f478376 [interp] add i1, i2 & r8 support for CEE_STELEM
* mono/mono@34592c5233 [interp] resolve generic types properly in mint_box, mint_ldobj and mint_cpobj
* mono/mono@6c60d2fce0 [interp] pass field instead of pre-calculated size for ld*fld.vt
* mono/mono@373ebd547d [tramps] add missing fp reg and check for the future
* mono/mono@fa92fa86c2 [interp] fix offsets in switch insn dump (only affects debug output)
* mono/mono@3a8cb50b07 [interp] fix compiler warning
* mono/mono@ed10891d9b [interp] replace printf with g_print
* mono/mono@d071235ffa [lldb] update expression in script
* mono/mono@16a67c6f6e Merge pull request #5689 from lateralusX/lateralusX/windows-native-unwind-codeview-support
* mono/mono@e47b1865c2 [runtime] Allow throwing pending exceptions from protected wrappers.
* mono/mono@0ae4504681 [runtime] Remove a mono_error_raise_exception () call from mono_remoting_wrapper (), its not needed since mono_remoting_wrapper () is called through a wrapper.
* mono/mono@12ca539f85 [jit] Call mono_llvm_raise_exception () directly from a bitcode jit icall. (#5752)
* mono/mono@42816aaa92 [interp] fix offset calculation for exvar slots in locals
* mono/mono@ad4ed79c9a [test] Add Type.GetType("", ...) tests
* mono/mono@0c61eb1b12 [reflection] Throw TLE for Type.GetType("", true) (Fixes #59664)
* mono/mono@e004f1ed5e [reflection] Use MonoError for mono_reflection_parse_type_checked
* mono/mono@95ab8ab08f [runtime] Ensure the field type is resolved before using it in RuntimeHelpers::InitializeArray. Fixes #56194
* mono/mono@8f324cdfc2 [ASan] introduce MONO_NO_SANITIZE_ADDRESS macro and mark sgen pin object scanning function as such
* mono/mono@8cf8b32972 [runtime] Use mono_set_pending_exception () in ves_icall_System_Threading_Thread_Sleep_internal (). (#5748)
* mono/mono@f02e158d3c [runtime] Remove unused mono_gc_out_of_memory () function. (#5750)
* mono/mono@4718035ee6 [mcs] Adds workaround for compiled enum types used as fields of other types. Fixes #59080
* mono/mono@1c9cf1f1c0 [interp] fix LMF popping during exception handling
* mono/mono@8e9c90b37e [interp] remove InterpMethod entry in hash table on free_method callback
* mono/mono@428d0606ab [System.Windows.Forms] Proper operation order. Fixes #59393. (#5734)
* mono/mono@344a3ec4e1 [interp] use GC aware memcpy for storing value types to fields
* mono/mono@75415afa76 [bcl] Fix csi to work on Mono (#5737)
* mono/mono@c4bee6af4d Merge pull request #5726 from alexrp/master
* mono/mono@8e9ae0cb07 [w32socket] Ignore errors for IP_MTU_DISCOVER on WSL.
* mono/mono@15c0640201 Merge pull request #5714 from alexischr/update_bockbuild
* mono/mono@4058c2be43 [utils] Add check for ANDROID_UNIFIED_HEADERS to mono-compiler.h (#5742)
* mono/mono@d2e60f48b6 [msvc] Update csproj files (#5745)
* mono/mono@c9fc371e31 [corlib] Use temp directory for assemblies in SaveTest.Save() (#5727)
* mono/mono@64b4a63a87 [corlib] Throw exception on using disposed Timer object. Fixes #60028
* mono/mono@90a68e6591 [corlib] Fixes make dist (#5735)
* mono/mono@aef03761fa Updated with review feedback.
* mono/mono@70abfb795a [profiler] Clean up the makefile and address some issues with it.
* mono/mono@56b3c007f4 [runtime] Don't insta-fail when a faulty COM type is encountered. (#5616)
* mono/mono@9eed0cb99e Update Bockbuild
* mono/mono@e77153a623 Adding basic codeview support on Windows x64 full AOT builds.
* mono/mono@925c2dc632 Adding native unwind info support in Windows x64 full AOT builds.
* mono/mono@72c86fe6cc [corlib] Makes GetReferencedAssemblies test more reliable
* mono/mono@f0ce7bc289 Merge pull request #5327 from marek-safar/corefx-bump
* mono/mono@410bb8a57e [runtime] Fix Empty generic enumerator equality
* mono/mono@f165a0dc3f Bump API snapshot submodule
* mono/mono@74a87af7f5 [appletls] Trust SecTrustResult.Proceed as well. Fixes #58411.
* mono/mono@a984f20e23 Initial set of Ward sgen annotations (#5705)
* mono/mono@411a37af27 Bump corefx
* mono/mono@3e9d7d6e9c [mcs] Fixes codegen for pattern probing with value-type variables
* mono/mono@caa9ed689f [aot] Don't error out if a method fails to JIT in full-aot mode. This was a regression caused by 9302c31f81abd2f5bbf9a8ddd27993e1ece55db2. Fixes #59832. (#5686)
* mono/mono@baac94e4b7 [runtime] Coverage profiler fixes (#5698)
* mono/mono@44e0631618 [corlib] Fixes array enumerator to match .net behaviour
* mono/mono@012f861023 [jit] In native-to-managed wrappers, emit the initlocals code for vtypes after the code for CEE_JIT_ATTACH, since the init code can make calls to methods like memset () which can go through the trampoline code. Fixes #59182. (#5678)
* mono/mono@b2a11ac756 Add new profile for monodroid tools (#5699)
* mono/mono@f77270c633 [monodroid] Fix Mono.Posix tests build (#5697)
* mono/mono@135dbb9c6d [mcs] Allows shadowing of probing pattern variables
* mono/mono@b683b3dc74 [System] Ignore FtpWebRequestTest.DownloadFile2_v6 test when IPv6 isn't available (#5695)
* mono/mono@dbf70d1083 Merge pull request #5693 from lateralusX/lateralusX/disable-stack-overflow-win-x64
* mono/mono@f0f4a22ae1 [coverage-profiler] Collect coverage data at IL seq point locations. (#5667)
* mono/mono@f86145e558 Merge pull request #5664 from lateralusX/lateralusX/mkbundle-windows-toolchains
* mono/mono@d7c22488d7 Bump version to 5.9.0 (#5692)
* mono/mono@ef7a4c0620 Prepare Mono for Android NDK with unified headers (#5680)
* mono/mono@4f673eac74 [System.Net.Http] Updates range check from 3741d16503a973a99c724bdab9a255a5f07a3637
* mono/mono@66205238fc Merge pull request #5636 from BrzVlad/fix-xmm-scan
* mono/mono@1004d95b6b [mcs] Implements C# 7.2 readonly structs
* mono/mono@4db06151be Disable none-working stack overflow implementation on Windows x64 full AOT.
* mono/mono@1bcf21e048 [w32file] Push win32 specific error to win32 specific implementation (#5665)
* mono/mono@abcca89bd4 [mcs] Adds minor langversion support
* mono/mono@56247cecbd Merge pull request #5656 from lateralusX/lateralusX/dynamic-static-windows-build
* mono/mono@3d47b20c62 [interp] fix using conv.u with string
* mono/mono@3aeeae6230 [jit] Fix using conv.u with string.
* mono/mono@adaf7fd65b [mcs] Allow properties and indexers of by-ref values to be set without setter
* mono/mono@9369ed6e23 [runtime] Store implmap_idx as a guint32 to avoid overflows if the implmap table has more than 64k rows. Fixes #59881.
* mono/mono@199d4da9ac Merged changes in master libmonoruntime into PR.
* mono/mono@216b92db17 Updated with review feedback.
* mono/mono@0f3ca07b42 Update msvc README file.
* mono/mono@8ae01a69f2 Add missing dependency for libmini.
* mono/mono@4c144cfacf Align libgc vcxproj with makefile.
* mono/mono@1091bd94fd Align libgcmonosgen vcxproj with makefile.
* mono/mono@8d22c47199 Align eglib vcxproj with makefile.
* mono/mono@975d820a75 Align libmonoruntime vcxproj with makefile.
* mono/mono@df03eb3fac Align libmonoutils vcxproj with makefile.
* mono/mono@6cb544f91d Fix libmini targets and filters.
* mono/mono@17392d380c Added labels to eglib and libmonoutils.
* mono/mono@05a3f528f7 Fix libmonoruntime targets and filters.
* mono/mono@fde8978893 Fix libmonoutils targets and filters.
* mono/mono@43e9ddc1fc Fix eglib targets and filters.
* mono/mono@52418d713f Drop use of def files for x86, x64 mono-2.0-sgen|boehm.dll Windows build.
* mono/mono@52e98abd6e Restructure of mono.sln and build properties to better fix static/dynamic library support.
* mono/mono@92576e31d2 Merge all static runtime libs into libmono-static.
* mono/mono@233bbcaaa3 Review feedback + drop VS2013 support.
* mono/mono@098e88f3a8 Merge pull request #5668 from kumpera/wasm-work-p4
* mono/mono@02a9ceaebb [ci] Small improvements for run-jenkins and collect-coverage. (#5669)
* mono/mono@edbc5c2334 Merge pull request #5675 from mono/glib-debug-symbols
* mono/mono@7751545573 Bump mono-extensions to fix build break (#5677)
* mono/mono@d8be089964 Bump NuGet.BuildTasks to get new updates and switch to `dev` branch (#5566)
* mono/mono@f99b88b812 Add glib to the list of packages with debugging symbols.
* mono/mono@bfc76bafbf [profiler] log profiler: limit method instrumentation to selected methods (#5517)
* mono/mono@30cddad5fb [jit] Fix the saving of the 'cfg->ret_var_set' flag when inlining, it was set to FALSE before it was saved, causing invalid code to be generated in some cases when doing nested inlining. Fixes #59608. (#5654)
* mono/mono@34866ac4c2 [mcs] Initial by ref returns and variables support
* mono/mono@56779410e8 Major improvement of Visual Studio toolchain and Windows SDK support in mkbundle.
* mono/mono@fe1eeb0724 [wasm] We can't free memory in wasm as it uses the malloc mmap backend.
* mono/mono@22187e8df1 [wasm] Add new missing signature.
* mono/mono@6f20e306e0 [wasm] Disable test that doesn't work with WASM
* mono/mono@f84533a8de [amd64] Save missing register
* mono/mono@c334db5e2c [arm64] Scan simd registers on apple
* mono/mono@ef8bc5028e [runtime] Avoid indirection when building MonoContext on darwin
* mono/mono@c889057d64 [arm64] Add the full neon regs to the context
* mono/mono@161c807083 [amd64] Add XMM registers to MonoContext on linux

Diff: ce89e4c5fa...4116105b8b

https://bugzilla.xamarin.com/show_bug.cgi?id=40699
https://bugzilla.xamarin.com/show_bug.cgi?id=49308
https://bugzilla.xamarin.com/show_bug.cgi?id=56003
https://bugzilla.xamarin.com/show_bug.cgi?id=56194
https://bugzilla.xamarin.com/show_bug.cgi?id=58400
https://bugzilla.xamarin.com/show_bug.cgi?id=58411
https://bugzilla.xamarin.com/show_bug.cgi?id=59080
https://bugzilla.xamarin.com/show_bug.cgi?id=59182
https://bugzilla.xamarin.com/show_bug.cgi?id=59184
https://bugzilla.xamarin.com/show_bug.cgi?id=59239
https://bugzilla.xamarin.com/show_bug.cgi?id=59393
https://bugzilla.xamarin.com/show_bug.cgi?id=59608
https://bugzilla.xamarin.com/show_bug.cgi?id=59664
https://bugzilla.xamarin.com/show_bug.cgi?id=59832
https://bugzilla.xamarin.com/show_bug.cgi?id=59881
https://bugzilla.xamarin.com/show_bug.cgi?id=59956
https://bugzilla.xamarin.com/show_bug.cgi?id=59967
https://bugzilla.xamarin.com/show_bug.cgi?id=60028
https://bugzilla.xamarin.com/show_bug.cgi?id=60029
https://bugzilla.xamarin.com/show_bug.cgi?id=60175
https://bugzilla.xamarin.com/show_bug.cgi?id=60224
https://bugzilla.xamarin.com/show_bug.cgi?id=60233
https://bugzilla.xamarin.com/show_bug.cgi?id=60255
https://bugzilla.xamarin.com/show_bug.cgi?id=60267
https://bugzilla.xamarin.com/show_bug.cgi?id=60288
https://bugzilla.xamarin.com/show_bug.cgi?id=60422
https://bugzilla.xamarin.com/show_bug.cgi?id=60435
https://bugzilla.xamarin.com/show_bug.cgi?id=60505
https://bugzilla.xamarin.com/show_bug.cgi?id=60539
https://bugzilla.xamarin.com/show_bug.cgi?id=60545
https://bugzilla.xamarin.com/show_bug.cgi?id=60634
https://bugzilla.xamarin.com/show_bug.cgi?id=60680
https://bugzilla.xamarin.com/show_bug.cgi?id=60771
https://bugzilla.xamarin.com/show_bug.cgi?id=60860

* [integration] bump maccore

* Test fix for issue with stateful script loading

* Install only selected files to mimic Mono NO_INSTALL flag

* Exclude lines with comments from profile source files

* Bump 2017-12 mono

* Bump mono

* Bump Mono

* Update linker sources location

* More linker updates

* More build fixes

* Bump to mono:2018-02

* [tests] reflect category rename of NotWorkingInterpreter to NotWorkingLinqInterpreter

see 746a3d0214

* [tests] update regular expression for extracting mono version

* version specifier can have up to four tuples
* single tuples can be more than a single digit

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@01e35bc383 ignore LocalId test on XAMMAC_4_5 too
* mono/mono@4e374e8cea [2018-02] [reference-assemblies] Fix public key for some newer v4.7.1 facades (#6865)
* mono/mono@94a8a589c8 Add stubs for Interop.NetSecurityNative
* mono/mono@fd7c5cdac6 [2018-02] [System.Data] Add missing API (fixes 6767) (#6825)
* mono/mono@942dd07c65 [ci] Add setting artifacts.json status
* mono/mono@f403697225 [ci] Add Windows .msi PR build (#6815)
* mono/mono@20ada1bc3b [2018-02] [runtime] Add a 'frame_addr' field to MonoStackFrameInfo, which is equal to either interp_frame or ctx->sp. (#6813)

Diff: 3320f45d98...01e35bc383

* Fix debug spew

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@f3c1fcd7c9 [System]: Revert my latest WebResponseStream changes. (#6887)
* mono/mono@268f2ac419 Bump bockbuild to get new gtk+ repo location
* mono/mono@ebb26ab546 Bump bockbuild to add gtk# generator fix (#6883)

Diff: 01e35bc383...f3c1fcd7c9

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@7126712f86 [System]: Set NetworkStream.ReadTimeout in WebConnection.InitConnection(). (#6898)
* mono/mono@07a5c686e0 Handle arguments of type ArgVtypeOnStack in the dyn call code. Part of the fix for #59184.
* mono/mono@bc64a17db8 [bcl] Fix more assembly identity mismatches (#6870)

Diff: f3c1fcd7c9...7126712f86

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

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@e9fa8a306d WebConnection.Connect() needs to probe all IP addresses.

Diff: 7126712f86...e9fa8a306d

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@93705443b6 bump nunit-lite
* mono/mono@5f626db882 [debugger] disable StepOutAsync test because it's flaky
* mono/mono@6cb693c4b5 Bug 60088 - Assertion at ../../../../external/mono/mono/mini/debugger-agent.c:4765, condition `array->len == 1' not met Problem was that I didn't consider `async void` method when adding that assert (#7105)
* mono/mono@e96f9fbb4a [2018-02] [sdks] Fix for XA integration (#7104)
* mono/mono@6559a504ed [ci] Disable monodoc tests on Windows for now
* mono/mono@c62864c98e Disable some PngCodecTest that have trouble on CI right now
* mono/mono@c5accf5ebc Bump aot file format version because of 7cac757e60cd61aa070f7e0fffca225364f58c0c. (#7082)
* mono/mono@470256aca5 Add denied assembly versions from previous ms extensions nugets
* mono/mono@f0f76abc30 Emit the weak field indexes table using the MONO_AOT_TABLE code, so it works with separate aot data files/bitcode.
* mono/mono@e7e28f4b9d Pass null-terminated string for logging
* mono/mono@00dec1f0c0 [2018-02] Fix ios sdk. (#7027)
* mono/mono@e0c46d9114 Bump mono/NUnitLite (#7006)
* mono/mono@ba542c0b1e [2018-02] Update F# to 4.1.33
* mono/mono@72aea0056b Revert mkbundle defaulting behavior made in ca8b8bd346
* mono/mono@0dfa4f85a9 Unlock loader lock on error paths
* mono/mono@d956447d56 [System.Data] Add missing api
* mono/mono@4aa717dc82 [2018-02] [runtime] Make icall tables loadable. (#6944)
* mono/mono@d8e28e14a5 Merge pull request #6952 from monojenkins/backport-pr-6890-to-2018-02
* mono/mono@176f127c1b disable test_42_arm64_dyncall_vtypebyval
* mono/mono@764b03fcab nuget-hash-extractor: Add msbuild extensions nuget to list of nugets to
* mono/mono@1df45be2e9 nuget-hash-extractor: Add support for handling nuget with multiple

Diff: e9fa8a306d...93705443b6

* Bump mono min version to avoid nuget restore issue

https://github.com/mono/mono/issues/6788

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@b242e82ba4 Add ldflags for bitcode (#7144)
* mono/mono@9c9d5d9e22 Fix the Android xattr check to not disable it on all other platforms. (#7146)
* mono/mono@f8ed9bcd12 [2018-02] [corlib] Fix RuntimeFeatureTest.NoNewFeaturesAdded on mobile (#7151)
* mono/mono@578cfcd146 [2018-02] [sdks] Fix for XA integration (#7109)

Diff: 93705443b6...b242e82ba4

* Bump Touch.Unit

Commit list for spouliot/Touch.Unit:

* spouliot/Touch.Unit@4ac4e32 [TouchRunner] do not use FinallyDelegate in Runner, because it requires remoting API to be available (#49)

Diff: b5b227e80b...4ac4e32500

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@daace66339 [2018-02] [xbuild] add property that is available in msbuild (#7202)
* mono/mono@fd18515516 Bump bockbuild for https://github.com/mono/bockbuild/pull/62 (#7206)
* mono/mono@c68cc6a4f4 Emit the same instances in hybrid aot mode as in full aot mode.
* mono/mono@4169af750b Disable partial sharing during JITting, its only been tested in full aot mode, and doesn't seem to work with JITted methods. Fixes https://github.com/mono/mono/issues/7085.
* mono/mono@ed22f9fa84 Add hybrid aot tests.
* mono/mono@d389ff9ff6 Remove reflection calls for value has to be set
* mono/mono@d1f461c5a3 Expand "ignore" functionality (#7154) (#7176)
* mono/mono@4e29f2ef9a [jit] Handle more cases for gsharedvt constrained calls.

Diff: b242e82ba4...daace66339

* bump system mono to include xbuild workaround for fsharp

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@33b47292c3 bump nunitlite
* mono/mono@df0a29e779 Merge mxe-Win32 and mxe-Win64 targets since we are building both in XA anyway
* mono/mono@6ccf73c8c8 Pass only the imt argument if both imt and rgctx arguments are required.
* mono/mono@d6b6fc61f1 Bump bockbuild to get curl error changes
* mono/mono@8249522f23 Fix the test name.
* mono/mono@2623bc3045 Magic interfaces requires the complex stelemref to handle arrays. Fixes gh #6266
* mono/mono@3be3714b6e add another signature for interp_in wrappers

Diff: daace66339...33b47292c3

* unbump touch.unit

* bump touch.unit

Commit list for spouliot/Touch.Unit:

* spouliot/Touch.Unit@1c41c75 Revert "[TouchRunner] do not use FinallyDelegate in Runner, because it requires remoting API to be available (#49)" (#50)
* spouliot/Touch.Unit@4ac4e32 [TouchRunner] do not use FinallyDelegate in Runner, because it requires remoting API to be available (#49)

Diff: b5b227e80b...1c41c75983

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@769bf9ef25 nuget-hash-extractor: Add msbuild extensions nuget version from vs15.6 msbuild branch
* mono/mono@878a54030a nuget-hash-extractor: Change the nuget repo name to use for
* mono/mono@a849f9a6e8 Fix path clobbering when trying to shadow copy siblings
* mono/mono@d9aa6f4083 Use attribute(deprecated) instead of attribute(error). (#7369)
* mono/mono@c0b76ff9ae Don't throw NotImplementedException in Dispose()
* mono/mono@5cef19dcd2 [2018-02][runtime] Don't assert in mono_class_is_assignable_from on iface gtd (#7290)
* mono/mono@ffe180c47f Make it build.
* mono/mono@c627c1b4b6 Bump linker.
* mono/mono@d0e7df4717 [System]: Enable some System.Net.Requests tests from CoreFX. (#7339)
* mono/mono@28c171a337 [2018-02] [System]: Use new `WebCompletionSource` instead of `TaskCompletionSource`. (#7298)
* mono/mono@0c8f0774ce Merge pull request #7336 from monojenkins/backport-pr-7321-to-2018-02
* mono/mono@6a1b416592 Fix gdb not being used for native stacktraces in some cases
* mono/mono@078760db9b [2018-02] [TermInfo] support new file format terminfo2 introduced with ncurses6.1 (#7308)
* mono/mono@ffc643d10c Fix VirtualMachine.CreateEnumMirror () so it works with types from non-root domains.
* mono/mono@6ed6a1b568 Check if we are exceeding the worker count limit

Diff: 33b47292c3...769bf9ef25

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@fa1ec4ac4d [packaging] Support setting the FULL_VERSION number via env vars (#7414)
* mono/mono@30aadcaa3a [2018-02] [metadata] split IL generation code into seperate compilation units. (#7375)
* mono/mono@214321dee5 [msbuild] Bump to track msbuild's mono-2018-02 branch (#7395)
* mono/mono@413f2fb976 Reenable HttpRequestIgnoreBadCookies in monotouch. (#7391)
* mono/mono@020ac2de89 Problem building on Arch linux #7200 https://github.com/mono/mono/issues/7200 Three styles: 1. LIBS="$LIBS -lfoo" -- common and probably works 2. LIBS+="-lfoo" -- was here and does not work 3. LIBS+=" -lfoo" -- should work (#7383)

Diff: 769bf9ef25...fa1ec4ac4d

* Update linker tests using reflection not to be caught by linker reflection heuristic

* More linker reflection checks updates

* Fixes Bug59015 test to check for method is was intented to

* [mmptest] fix linker test in link-safe-1

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@279d7e230f [2018-02] [threads] Fix race between abort socket syscall and thread shutdown (#7521)
* mono/mono@2ce1d5f3d5 Comment/stub out some unused icalls to prevent problems with AOT.
* mono/mono@668baf1915 [acceptance-tests] Actually disable gcsuppressfinalize.exe test
* mono/mono@2201952d9a WebRequestStream now throws correct exception on cancellation (#7074).
* mono/mono@4d3e9d53b2 Fix resolution of interfaces in classes implementing IEnumerator. Fixes #59400
* mono/mono@2476d2ac06 Move the check for open constructed types later in mono_jit_compile_method_with_opt (), this function can receive gshared methods in llvmonly mode. (#7504)
* mono/mono@91fe1eb5f5 Fix generated file when passing --bundled-header (#7510)
* mono/mono@bb0c123e74 Use runtime template for iOS
* mono/mono@e965e1647d Use runtime template for Android
* mono/mono@a652297384 Create common runtime compilation template
* mono/mono@685d39238a Have RELEASE be empty when CONFIGURATION != 'release'
* mono/mono@3648ace2b9 Move common targets
* mono/mono@b62bfdcb55 An array is not an IEnumerator`1
* mono/mono@9f2841c3a0 An array is not an IEnumerator`1
* mono/mono@6f90188e9f Add IEnumerator`1 to MonoDefaults struct
* mono/mono@84027bddaa Remove compiler config sections for types which cannot be instantiated
* mono/mono@66f19a974a Swap Close/Dispose calls so that the receiver_thread_main loop will be properly interrupted
* mono/mono@99b7f59ddc [2018-02] Fix for gcc 4.4; nominal support for older. (#7435)
* mono/mono@f28abdbebd Fixes decoding of CMS/PKCS #7 messages with an explicit cryptographic object identifier
* mono/mono@2dc56b5a60 [2018-02] [corlib] Ignore TimeZoneTest.TestCtors on iOS under certain conditions due to an Apple bug. (#7428)
* mono/mono@58d02a9603 [acceptance-tests] Disable gcsuppressfinalize.exe test that started failing

Diff: fa1ec4ac4d...279d7e230f

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

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@ed56e90aca [2018-02] [Facades] Add missing Facades that exist in .NET 4.7.1 (#7551)
* mono/mono@57e18b15d0 [sgen] Fix the clearing of bits in the gc descriptor bitmap when using weak fields. Fixes #7378.

Diff: 279d7e230f...ed56e90aca

* [linker] update facades list for .NET 4.7.1

see https://github.com/mono/mono/issues/7573

* Force libMonoPosixHelper usage in test to work around mono linker improvements

- https://github.com/mono/mono/issues/7516
- These tests will be refactored \ improved in https://github.com/xamarin/xamarin-macios/issues/3713

* [msbuild] fix creation ouf output dependency (#3747)

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@d67d75a4f3 Disable delegate-15.exe in the full-aot profile.
* mono/mono@6036b45bce Avoid calling mono_class_vtable () for open constructed types.
* mono/mono@9136f4c1a0 only target macOS, HOST_DARWIN includes iOS etc. as well
* mono/mono@abb82546d7 [2018-02] [Facades] Make System.Net.Http.Rtc.dll a net_4_x only facade (#7595)
* mono/mono@6af13f6e83 Add icall to configure MERP options / enable it
* mono/mono@c684567bd7 Add optional Microsoft Telemetry unmanaged dumper
* mono/mono@4ab5e8a495 Update source file location from commit d4816ef1abcfc5b3dea41a87fe5a7a4c4a3781ed

Diff: ed56e90aca...d67d75a4f3

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@3577465fcd add LL suffix to constant in order to prevent overflowing on 32bit systems
* mono/mono@7d9e106c03 1000ns = 1us and 1us = 10ticks
* mono/mono@3931767dca reduce compiler warnings
* mono/mono@deb3474e7c add regression test for github issue 7646
* mono/mono@27c7a4b01e use utimes if available in order to set subsecond information on access and write time
* mono/mono@da5b39d785 factor setfiletime
* mono/mono@7f69ff87b5 use CONVERT_BASE in more places
* mono/mono@e33bf27c9a replace SECMULT with TICKS_PER_SECOND
* mono/mono@79030a3284 remove unused mono_w32file_get_times ()
* mono/mono@e74d4a6e31 Merge pull request #7686 from mono/backport-gh-7584
* mono/mono@c2fe39f13e Revert "Replace mono_msec_boottime() with CoreCLR implementation. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=58413"
* mono/mono@0d8de253cb [System.Net] Replace use of obsolete `SupportsIPv6` property.
* mono/mono@e9c512092d Increase the buffer size in emit_exception_debug_info ().
* mono/mono@08a7043b66 [2018-02] [System]: Introduce `WebCompletionSource\u003cT\u003e` and use it in `WebOperation`. (#7641)
* mono/mono@cb89a1575c Replace mono_msec_boottime() with CoreCLR implementation. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=58413
* mono/mono@1a0508a58c Handle multiple segments in IsolatedStored::GetFileNames. Fixes bxc #11771

Diff: d67d75a4f3...3577465fcd

* Bump system mono

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@c17d8c6dcd remove WildcardConnect () on WatchOS
* mono/mono@e29f146ab3 [2018-02] [sgen] Use current nursery size when computing allowance (#7648)
* mono/mono@535bfc5d84 Add csc-dim as a prototype if default interface implementation
* mono/mono@5b66de0bf0 [2018-02] [sdks] Fix concurrent building of MonoAotOffsetsDumper.exe + Simplify building of support library (#7688)
* mono/mono@a6c7b9eca4 [msbuild] Bump msbuild to pick up fix for issue #7184 (#7666)

Diff: 3577465fcd...c17d8c6dcd

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@67a2468db9 support increment and decrement of nint/nuint (#7790)
* mono/mono@da0e172ae5 improve error message and add another interp_in signature (#7789)
* mono/mono@1c9d8aad07 [sdks] Fix the ios sdk build. (#7801) (#7824)
* mono/mono@c6fc176f5c Fix Android build for toolchain (#7818)
* mono/mono@c9bf7a3878 Disable the interpreter on ios device builds. (#7795)
* mono/mono@d37075a949 [System] Disable a test file to resolve compilation error
* mono/mono@42fc0bd51f Bump corefx to bring a fix for #7696
* mono/mono@2487301faf Fix Android build for mxe (#7782)
* mono/mono@0d6be4da5e [sdks] Fix Android build on Linux (#7777)
* mono/mono@ebbed2bb87 Revert "Swap Close/Dispose calls so that the receiver_thread_main loop will be properly interrupted (#7390)" (#7751)
* mono/mono@e5bad88ebb Fix Android build (#7769)
* mono/mono@238c21cf77 Fix a race condition that was exposed by #7358 (see #7668).
* mono/mono@2fbd5a16a3 [runtime] Fix file handle leak with dedup+aot (#7721)
* mono/mono@a13c12ac99 [2018-02] [loader] Don't load framework Facade assemblies that are older than expected. (#7708)
* mono/mono@bdf405fae4 Merge pull request #7726 from mono/backport-new-boottime-2018-02
* mono/mono@ce612bb49e Fix partially shared constrained calls in llvmonly mode.
* mono/mono@0a3d40ac60 Avoid aot-ing the bcl libs twice in make fullaotcheck/llvmonlycheck.
* mono/mono@07d5a031d4 [runtime] Don't use clock_gettime on WatchOS and tvOS.
* mono/mono@ff546b9d8b [runtime] Don't use clock_gettime in MacOS.
* mono/mono@9922d1af20 [runtime] Fix mono_msec_boottime () so it compiles on older ios versions, clock_gettime () is only available from ios 10. (#7671)
* mono/mono@875240538e [mono-time] Replace mono_msec_boottime() with CoreCLR implementation. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=58413

Diff: c17d8c6dcd...67a2468db9

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@b250b4a657 [2018-02] [sdk] sync ios and android changes from master into `2018-02` (#7831)
* mono/mono@77fc4cfa2e Remove suspicious mono_gchandle_free
* mono/mono@3984508a04 [icall] remove DISABLE_PROCESS_HANDLING (#7827)

Diff: 67a2468db9...b250b4a657

* Bump to mono:2018-02

Commit list for mono/mono:

* mono/mono@dcdd956e1b [perfcounters] fix alignment issue on 32bit
* mono/mono@811e3b4dcd [sdks] Fix LLVM build for XA (#7919)
* mono/mono@25aba4e86e [2018-02] [sdks] Fix LLVM build on Linux for XA + Fix MXE usage on non-Darwin platforms (#7912)
* mono/mono@ae7f365c06 [sdks] Fix usage of MXE for XA (#7898)
* mono/mono@cda8574a88 [jit] Add signature checking for CALLI. (#7880)
* mono/mono@a6b0e1ccbe [2018-02] [sdks] Pass LLVM_SRC from XA to use `xamarin-android/external/llvm` + Pass IGNORE_PACKAGE_MXE from XA + Only checkout specific MXE and LLVM commit when cloning (#7895)
* mono/mono@7ee378c904 [sdks] Pass MXE_SRC from XA to use `xamarin-android/external/mxe` (#7890)
* mono/mono@511ca9f507 Whitelist illinkanalyzer in macOS package (#7862)
* mono/mono@88b5266376 Merge pull request #7851 from monojenkins/backport-pr-7849-to-2018-02
* mono/mono@4aa9fd41b8 [msbuild] Bump to pick up updates (#7846)
* mono/mono@4bf541a969 [System] Makes TLS providers linker friendly
* mono/mono@6c324b91b2 [corlib] Restores ConcurrentDictionary serialization support.

Diff: b250b4a657...dcdd956e1b

* Bump to mono/2018-04/59e6eb29

Commit list for mono/mono:

* mono/mono@59e6eb29e6 [2018-04] [Facades] Add System.Memory facade to mobile profiles (#7968)
* mono/mono@5053d17e50 Bump version to 5.14 (#7954)
* mono/mono@9cd9e3b0a1 [ppc] use ucontext_t
* mono/mono@90b49aa3ae Merge pull request #7946 from kumpera/wasm_fix_a_few_issues
* mono/mono@21a9412a67 [sdb] Fix --enable-minimal=soft_debug build. Fixes #7920. (#7945)
* mono/mono@95276e9ddb Merge pull request #7943 from filipnavara/corefx-sd-tests-1
* mono/mono@cdea795c0e [wasm] Make RuntimeInformation properly detect WebAssembly.
* mono/mono@d8648776cc [wasm] Bump corert to pick fix for TaskCreationOptions.LongRunning. Fixes #7864.
* mono/mono@106ef365e3 [wasm] Disable the degraded alloc warning under wasm. Fixes #7661
* mono/mono@2bf9a42fd3 [wasm] Fix the build.
* mono/mono@5bdb87b6a6 [wasm] emcc has a broken clock_getime. Disable its usage.
* mono/mono@a810739246 Include CoreFX GraphicsPath and Region tests.
* mono/mono@4723e6603e Merge pull request #7915 from alexischr/fix-gh-7568
* mono/mono@2b4208feda [System.Windows.Forms] Set NotifyIcon.Icon in test to prevent warning
* mono/mono@a914dbf173 [System.Windows.Forms] Dispose forms opened during two tests
* mono/mono@fcd52894d9 [System.Drawing] Remove failing jpeg flags tests (#7931)
* mono/mono@254013b0fd [runtime] Fix class visibility check for protected nested classes. (#7907)
* mono/mono@ebef3ec4b1 [msvc] Update csproj files (#7929)
* mono/mono@2cbd1706dc [System.Drawing] Enable corefx xunit tests (#7924)
* mono/mono@4d78aaf7b4 [genproj] When using fallback profile selection don't build the projects that were missing a profile (#7926)
* mono/mono@1931cb1dcb [Tests] Disable hijacking.exe and Jittailcall2.exe tailcall tests. (#7922)
* mono/mono@938415c6d3 [test-runner] Don't output test result xml when no tests are run
* mono/mono@a5a496695a Disable building btls/ and support/ on the bcl build, they are not needed. (#7921)
* mono/mono@2e0182b5c0 Implement Field SetValueDirect on non-struct targets. Add test case from roslyn issue 19038. (#7866)
* mono/mono@88cab36c20 [sdks] add Make.config to ignore file (#7901)
* mono/mono@5c839fc109 Bump msbuild to track xplat-master (#7900)
* mono/mono@f83fbbd9b8 [sdks] Fix LLVM build for XA (#7917)
* mono/mono@a36d08a55a [perfcounters] fix alignment issue on 32bit
* mono/mono@1e1893d683 [System.IO] Don't throw exception when FileSystemWatcher is disposed while the backend is still trying to use it
* mono/mono@a1751d91c8 Revert "Disable some flaky tests."
* mono/mono@2c14b1f82c Revert "Disable a flaky test."
* mono/mono@86df754848 Revert "Disable bug-80307.exe"
* mono/mono@60707875d5 Revert "[sdks] Disable btls and support/ on the bcl build, they are not needed. (#7892)" (#7904)
* mono/mono@6f0fba8961 [Tailcall] Bring coreclr tests for tail calls to Mono source tree (#7204)
* mono/mono@765ea25772 [sdks] Fix LLVM build on Linux for XA + Fix MXE usage on non-Darwin platforms (#7910)
* mono/mono@1d36e15392 [msvc] Update csproj files
* mono/mono@81a781bb02 add some OpenBSD patches (#7699)
* mono/mono@792196320f [sdks] Disable btls and support/ on the bcl build, they are not needed. (#7892)
* mono/mono@573e460e97 Fix tarball build
* mono/mono@7ec2423535 [packaging] Bundle the msvc compiled monograph.exe on Windows
* mono/mono@3dad276e2d Bump api-snapshot
* mono/mono@77b2db73aa Add BindingFlags.DoNotWrapExceptions (#7863)
* mono/mono@9ff460b004 [sdks] Disable wasm on the ios sdk lane. (#7894)
* mono/mono@e70a872c53 [sdks] Fix usage of MXE for XA (#7897)
* mono/mono@5841ffff03 [System.Windows.Forms] Ignore non-visible controls when computing ScrollableControl canvas size (#4247)
* mono/mono@407e254643 [sdks] Pass LLVM_SRC from XA to use `xamarin-android/external/llvm` + Pass IGNORE_PACKAGE_MXE from XA + Only checkout specific MXE and LLVM commit when cloning (#7893)
* mono/mono@6c901dbfc5 [sdks] Pass MXE_SRC from XA to use `xamarin-android/external/mxe` (#7888)
* mono/mono@ff40ceff38 check for iconv only once (#7873)
* mono/mono@e3e1fe1c16 [corlib] Moves DynamicMethod to mscorlib to work better with wasm (#7875)
* mono/mono@ada6edbad8 [bcl] Fix the compilation of System tests in the mobile profile. (#7882)
* mono/mono@2f66873ab2 [msvc] Update csproj files (#7811)
* mono/mono@753cc874f6 [jit] Add signature checking for CALLI. (#7832)
* mono/mono@ab62d30edb [genproj] Move obj to common folder and remove unnecessary properties (#7870)
* mono/mono@8c86a805ff [mcs] Updates common array bounds unification to use universal type comparer
* mono/mono@b42086d450 Use __PASE__ for things i needs that AIX doesn't (#7858)
* mono/mono@f00eba8a7c Whitelist illinkanalyzer in macOS package (#7861)
* mono/mono@4a247e7ed9 Merge pull request #7740 from alexischr/corefx-unknownunix-fsw
* mono/mono@03a153c7b3 Bump API snapshot submodule
* mono/mono@e6f90edfcd [System]: Disable the System.Net.ServicePoint tests from corefx.
* mono/mono@0f9b7f730f mono_perfcounter_counter_names returns incorrect names, and restructure slightly for clarity (#6355)
* mono/mono@9b36f1452f wcf: fix index of message body parts. Do not use MessageBodyMemberAttribute.Order as index.
* mono/mono@3c8bf90a40 [System.IO] Use CoreFX FileSystemWatcher stub for mobile profile
* mono/mono@6caa9bd881 Disable a flaky FileSystemWatcher test
* mono/mono@7e31c5d11f Merge pull request #7849 from marek-safar/corefx-fixes
* mono/mono@294707cf88 [build] Fixes bootstrap invocation of cil-stringreplacer
* mono/mono@dc1ef2ea3a [runtime] One more MonoClass getter fixup (#7836)
* mono/mono@dc6700a799 [corlib] Restores ConcurrentDictionary serialization support.
* mono/mono@32e6bccc2d [System] Makes TLS providers linker friendly
* mono/mono@554690a64c [build] Update monolite package to support cil-stringreplacer (#7847)
* mono/mono@96e8fa67e2 [bcl] Fix Cscompmgd/I18N.Rare not having any tests (#7842)
* mono/mono@3157302581 Pull in bug 53272 fix
* mono/mono@16d5c31409 [ci] Bundle nunit xml results in a .tar file (#7843)
* mono/mono@5e1acb47f5 [genproj] Deduplication of project references (#7844)
* mono/mono@b20d5ce1e5 [runtime] Rework how the native-to-managed eh callback is called. (#5837)
* mono/mono@2b663424a0 [threads] Remove suspicious mono_gchandle_free
* mono/mono@f66032b7c0 Fix F# build. (#7826)
* mono/mono@e610e443cd Structure field that cannot be marshalled throws exception instead of aborts\n Alllow structure pointer conversion for blittable multi-dimentional arrays (#7794)
* mono/mono@febd5ac535 MonoClass getters mop-up PR (#7806)
* mono/mono@a5099ca2a4 [mini] Use MonoClass getters in method-to-ir.c (#7772)
* mono/mono@2ce121ab7b [sre-save] Remove type_token assignment in mono_image_fill_export_table (#7803)
* mono/mono@2f5077a1fb [sdks] Fix the ios sdk build. (#7801)
* mono/mono@dde9ee5e79 [w32handle] Lower minimum memory usage (2nd attempt) (#7508)
* mono/mono@30903764c2 [sdks] Fix Android build for toolchain (#7817)
* mono/mono@2709d2309e [mini] Use MonoClass getters on non-AMD64 platforms (#7799)
* mono/mono@506fc0b522 [genproj] Deduplication of sources (#7810)
* mono/mono@331f3d9f27 Fix warnings and cleanup style. (#7800)
* mono/mono@954911d3f1 Genproj updates for BCL build in Windows Visual Studio (#7755)
* mono/mono@431c67415c [mini] Use MonoClass getters in aot-compiler.c (#7773)
* mono/mono@76f0193388 [ci] For checked builds, pass -k to make (#7802)
* mono/mono@43d9c4737b Imports FtpWebRequest from CoreFX (#7644)
* mono/mono@bc25029b58 Disable some flaky tests.
* mono/mono@901ccebb0a [sdks] Disable the interpreter on ios device builds. (#7793)
* mono/mono@e3c284c4e3 CodeOwners update (#7798)
* mono/mono@74daf13fb2 Harden JIT job control against cctors deadlocking. (#7423)
* mono/mono@7bb6e59e38 [runtime] Fix lock tracer compilation error (#7767)
* mono/mono@1bdcf19169 [corlib] System.Collections from CoreFX (#7478)
* mono/mono@3aeab61192 [mini] Use MonoClass getters in a few files (#7771)
* mono/mono@158bb416eb [interp] Use MonoClass getters (#7774)
* mono/mono@b06de64bf8 Fallback to listing drives in My Computer using System.IO.DriveInfo.
* mono/mono@b8fdce6c05 [Tailcall] Fix virtual generic methods that F# tests uses. (#7524)
* mono/mono@066ce33825 Add tailcall support & fix floating point ABI (#7695)
* mono/mono@d233bdbf99 [icall] remove DISABLE_PROCESS_HANDLING (#7779)
* mono/mono@7de72fbf3f [interp] support increment and decrement of nint/nuint
* mono/mono@d424774751 [interp] improve error message and add another interp_in signature
* mono/mono@dfabaa5917 Remove incorrect docs (#7784)
* mono/mono@67e995c6e2 [interp] Improve mixed mode execution support, using full-aot+interp as the configuration. (#7764)
* mono/mono@9c63d1bf9d [sdks] Fix Android build for mxe (#7781)
* mono/mono@8a3b4bf2af [sdks] Fix Android build on Linux (#7775)
* mono/mono@95d450660b [interp] move variable decl into ifdef to avoid unused warning (#7763)
* mono/mono@392e1c368c [Tailcall] Proper fix for F# regression, at least some architectures. (#7658)
* mono/mono@45c94b22ab [sdks] Fix Android build (#7768)
* mono/mono@d856789ccd Bump corefx to bring a fix for #7696
* mono/mono@9bc0a49bc7 [runtime] Fix the cross compiler build. (#7754)
* mono/mono@3d2891097a Merge pull request #7748 from lambdageek/fix-gc-descr-object-c
* mono/mono@3283af3449 [msvc] Update csproj files
* mono/mono@3ec9fda371 [System.Core] Guard against embedded NUL in strings for MemoryMappedFiles (#7318)
* mono/mono@6822a57663 Disable a flaky test.
* mono/mono@54e3eccc5d [build] Bump bootstrap mcs dependency for mcs builds to catch up with e6fb82b2c7b4a8f42827f9a952dec0a03ae9c8c9
* mono/mono@99d31278e3 [interp] always set old_frame in interp_entry (#7757)
* mono/mono@c2698519b0 [interp] Allocate ThreadContext structures on the heap instead of on the stack, the latter doesn't work in mixed mode if the native frame gets unwound during exception handling, so the set_context (NULL) call is never executed, leaving a dangling ref in the tls variable. (#7747)
* mono/mono@678576f5a8 [System.Windows.Forms] Reset check state of item when removing it. (#7744)
* mono/mono@87fd071412 Revert "Swap Close/Dispose calls so that the receiver_thread_main loop will be properly interrupted (#7390)" (#7745)
* mono/mono@9b702e8052 Bump API snapshot submodule
* mono/mono@e6fb82b2c7 Bump bootstrap dependency
* mono/mono@7a9f8405d4 [corlib] String from CoreFX/CoreRT
* mono/mono@20ba08543e [corlib] Use UTF8 bytes convertor directly
* mono/mono@d9e3d7c407 Remove dead code (#7738)
* mono/mono@c732bd4758 This fixes an issue we are seeing with VSTU debgugging in Unity. (#7634)
* mono/mono@7faa462046 Fix bug #60843 and add test (#7640)
* mono/mono@d26fb8a3eb Forward mono_string_new_wrapper to mono_string_new for error handling. (#7718)
* mono/mono@d5d1fb290d Bump roslyn-binaries to include missing file
* mono/mono@dd09fa9982 [mcs] Adds cloning for TupleLiteralElement expressions (#7746)
* mono/mono@3fa3592376 Uncomment and fix ServiceHost creation via ServiceFactory in SvcHttpHandler.cs (#3465)
* mono/mono@74dd088d40 [metadata] Add mono_class_publish_gc_descriptor
* mono/mono@f42fdeca61 [mcs] Fixes codegen for null fixed string statement
* mono/mono@8e3be15335 [metadata] Move mono_class_compute_gc_descriptor back to object.c
* mono/mono@9e4eb1ca69 Bumps roslyn to 2.7.0
* mono/mono@dc0cf83b3a [arm] fix stack alignment for structs (#7691)
* mono/mono@0dec8fda18 [sgen] Fix scanning of large arrays (#7672)
* mono/mono@39c9f9d935 Merge pull request #7724 from lewurm/wildcardconnect-watchos
* mono/mono@e40c97e771 [interp] Disable pinvoke3.exe test on x64 (#7739)
* mono/mono@06463f4ca2 [Tailcall] Add interface tailcall tests, and generics thereof. (#7703)
* mono/mono@9914517a12 Remove obsolete code for getting TLS values from other threads. (#7714)
* mono/mono@9fe7008d97 [HttpClientTest] remove WildcardConnect () on WatchOS
* mono/mono@7dea71ce64 Touchup for https://github.com/mono/mono/pull/7599/
* mono/mono@3766089898 Merge pull request #7599 from lambdageek/abort-cctor-no-protection
* mono/mono@f617929e9e [runtime] Don't use clock_gettime on WatchOS and tvOS.
* mono/mono@081c79e687 Add csc-dim script to .gitignore
* mono/mono@7cc78d08b0 Merge pull request #7707 from mono/fix-boottime-osx-10.7
* mono/mono@9cf2550ba2 Update man page, MONO_DISABLE_AIO is now MONO_ENABLE_AIO. (#7715)
* mono/mono@16e6e7df70 [sgen] Finish thread pool work before shutting down threads (#7647)
* mono/mono@e480620040 [System]: Fix a race condition that was exposed by #7358 (see #7668).
* mono/mono@120aa248fa [sdks] Fix building the ios device tests. (#7706)
* mono/mono@a5c6f5c5ca [w32file] do not discard sub-second resolution for access- and writetime if possible (#7650)
* mono/mono@b37166882d [runtime] Fix file handle leak with dedup+aot (#7694)
* mono/mono@feb8b568ba [mprof-report] Fix reading of TYPE_JITHELPER events in v13 files. (#7677)
* mono/mono@b77313855c [loader] Don't load framework Facade assemblies that are older than expected. (#7663)
* mono/mono@62921c8a62 [runtime] Don't use clock_gettime in MacOS.
* mono/mono@7528656820 [msbuild] Bump msbuild to pick up fix for issue #7184 (#7665)
* mono/mono@53a59ccf76 [sdks] Fix building the ios tests. (#7701)
* mono/mono@1c8b460b4c [version.h] Support .git being a submodule (#7689)
* mono/mono@e99ac890e6 Add csc-dim as a prototype if default interface implementation
* mono/mono@7aeaafd281 [runtime] Fix mono_msec_boottime () so it compiles on older ios versions, clock_gettime () is only available from ios 10. (#7671)
* mono/mono@8ae317a1e8 [arm64] Add a known TLS offset. (#7530)
* mono/mono@b6f56a115f [Tailcall] Cleanup, handle varargs, cleanup varargs handling, be sure not to use unsupported tailcall_membase, pass r11 through, align patches. (#7600)
* mono/mono@249a02d936 Updates codeowners (#7679)
* mono/mono@5232bef282 Disable a flaky FileSystemWatcher test (#7578)
* mono/mono@540ef385fa If a bad header is received from the client or the connection is broken, send an internal VM_DISPOSE command to shut down the debugger thread properly.  This prevents runtime hangs that occur during profile events after the debugger shuts down.
* mono/mono@68a9bbe69f Update Server.py to run on both python 2 and 3
* mono/mono@2f21177019 Merge pull request #7584 from alexischr/fix-gh-6940
* mono/mono@fe3c5134bf Implement C#7 binary literals (#7659)
* mono/mono@421e017479 [System.Windows.Forms] Fix bounds manipulation in Control.DrawToBitmap (#7629)
* mono/mono@d3e2518fb6 [sdks] Fix concurrent building of MonoAotOffsetsDumper.exe + Simplify building of support library (#7652)
* mono/mono@e36148dbd2 [tests] Prevent starvation by thread doing GCs (#7651)
* mono/mono@ec4c990af3 [System.Net] Replace use of obsolete `SupportsIPv6` property.
* mono/mono@43415f5f2b [threads] Add mono_uninstall_current_handler_block_guard
* mono/mono@92042c9732 [threads] Delay abort via handler block guard when in abort protected block.
* mono/mono@b0734593de [tests] Run abort-cctor.exe on the coop Jenkins job
* mono/mono@ea4274f2eb Revert "[Tailcall] Proper fix for F# regression." (#7656)
* mono/mono@fdbf51184a [msvc] Update csproj files (#7654)
* mono/mono@b2271853c3 [Tailcall] Proper fix for F# regression. (#7621)
* mono/mono@9b3893f84a [tests] Class should be viable even if cctor is aborted in in nested finally clause
* mono/mono@247a13b081 [System.Windows.Forms] Improve logic for closing complex ToolStripDropDown layouts. (#7630)
* mono/mono@5d23a12446 [System.Windows.Forms] Unify layout engines for Controls and ToolStripItems (#7612)
* mono/mono@6bdeea1503 [jit] Incorrect code under mono --trace. (#7627)
* mono/mono@395b37c286 Fix issue #7596 on Windows x64. (#7625)
* mono/mono@5820d1fc66 [sgen] Use current nursery size when computing allowance (#7601)
* mono/mono@52429673dc [mini] Don't inline methods if they're going to be instrumented for coverage. (#7554)
* mono/mono@851b36ecb2 [mini] Improve error reporting by using MonoError around more places. (#7607)
* mono/mono@6906c9dc40  [interp] Don't crash when freeing delegate ftnptr  (#7586)
* mono/mono@2883e562e2 Fix platform-specific build issues (#7342)
* mono/mono@2d0eee9ae3 [jit] Fix partially shared constrained calls in llvmonly mode. (#7561)
* mono/mono@ec319e6de7 [aot] Increase the buffer size in emit_exception_debug_info (). (#7638)
* mono/mono@ff61c7751a [build] Fixes mcs only dist build
* mono/mono@4b88e2a0e2 [System]: Introduce `WebCompletionSource<T>` and use it in `WebOperation`. (#7358)
* mono/mono@29c2ba9387 Merge pull request #7520 from alexischr/use-coreclr-GetTickCount
* mono/mono@7e3a1ddaa0 [mcs] Fixes parsing ref-struct with partial keyword
* mono/mono@8728280550 [sdks] IOS fixes. (#7617)
* mono/mono@40b53bd2e0 [corlib] Handle multiple segments in IsolatedStored::GetFileNames. Fixes bxc #11771
* mono/mono@8ceead93e3 [Tailcall] Quick fix for building F#. Do not tailcall any method with a vtable_arg. (#7609)
* mono/mono@1c88a11545 [Coop thread threadpool mmap] Convert more functions to coop/handle. (#7097)
* mono/mono@239aad5265 [msvc] Update csproj files
* mono/mono@34b4d35fb7 [runtime] Clean up symbol names to not pollute the global namespace.
* mono/mono@1d70b62770 [profiler] Increment ref count of an image's method while we're keeping around pointers to it.
* mono/mono@6b116cca18 [merp] only target macOS, HOST_DARWIN includes iOS etc. as well
* mono/mono@40924c47ba [Mono.Data.Sqlite] Throw better exception for missing mobile support
* mono/mono@a856f8d8e4 [Tailcall] Cleanup is_supported_tail_call, put more logic in it, and be sure not to tailcall_mem_base if not supported (i.e. virtual_ not just CALLVIRT) (#7608)
* mono/mono@7e7d8a3b4f [Facades] Make System.Net.Http.Rtc.dll a net_4_x only facade (#7590)
* mono/mono@5f572ff7a6 [msvc] Update csproj files
* mono/mono@6e246cf613 [Facades] Move types from Facades into class libraries (#7574)
* mono/mono@4e3389667f [System.Xml] Update source file location from commit d4816ef1abcfc5b3dea41a87fe5a7a4c4a3781ed
* mono/mono@8c3d7c81af [System.Windows.Forms] Fix custom test targets in makefile. (#7571)
* mono/mono@9dbd080c29 [System.Windows.Forms] Update code for top-level windows (#7570)
* mono/mono@e85dbca0f2 Disable TestBug8592BasicOperations test
* mono/mono@b1d2b85825 Make Form scaling tests platform independent.
* mono/mono@cdb9b90baa Correcting typos for ISSUE_TEMPLATE.md (#7575)
* mono/mono@99198da52b [msvc] Update csproj files (#7559)
* mono/mono@16b3884854 Disable bug-80307.exe
* mono/mono@a601516ca1 [tests] Disable delegate-15.exe in the full-aot profile. (#7529)
* mono/mono@8f926ed464 [ppdb] Set the column number in mono_ppdb_lookup_location ().
* mono/mono@78de671964 Swap bytes for port number as Win32 API returns in network order.
* mono/mono@3b0c0bd1cf Build system tweaks for AIX (#7542)
* mono/mono@486036b696 Revert "[Tailcall] Do not create never-executed trampoline for tail.call self. (#7331)" (#7550)
* mono/mono@06a4273d73 [mono-time] Replace mono_msec_boottime() with CoreCLR implementation. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=58413
* mono/mono@e456f91053 Bump api-snapshot
* mono/mono@9a2b5324ee [Facades] Add missing Facades that exist in .NET 4.7.1 (#7541)
* mono/mono@b6be2e11a7 [threads] Fix race between abort socket syscall and thread shutdown (#7507)
* mono/mono@4ae98fb31b Merge pull request #7515 from kumpera/le_debugger_cleanup
* mono/mono@868a402137 [metadata] split IL generation code into seperate compilation units. (#7487)
* mono/mono@826f15a509 [interp] Fix return of value type from interp to native (#7519)
* mono/mono@f24a6d622b gboolean g_is_usermode_native_debugger_present (void). (#7488)
* mono/mono@03914603a3 [runtime] Add MS telemetry reporter for unmanaged exceptions (#7451)
* mono/mono@d3a4e19f3c Merge pull request #7533 from akoeplinger/disable-test
* mono/mono@63e5e80d3a [bcl] Fix test build with mcs (#7512)
* mono/mono@14485be705 [System.Windows.Forms] Fix lifetime of Graphics objects in TextBox controls (#7491)
* mono/mono@b9d52fc4f1 [System] Disable SocketTest.AcceptBlockingStatus
* mono/mono@91b64b4560 [System.Windows.Forms] Fix bugs in PrintPreviewControl. (#7493)
* mono/mono@ee30689c18 Implement native ValueType Equals and GetHashCode support for pointer fields
* mono/mono@4532cf5fd5 [interp] Fix stack usage after throw (#7461)
* mono/mono@523ba159c2 [sgen] Fix the clearing of bits in the gc descriptor bitmap when using weak fields.
* mono/mono@660e166c7b [eglib] Fix typo in g_assertf (#7458)
* mono/mono@c745a9575d [jit] Move the check for open constructed types later in mono_jit_compile_method_with_opt (), this function can receive (#7494)
* mono/mono@25f4ef2789 [wasm] Make switching between debug/release builds easy. Build pdb files.
* mono/mono@eba41fd88a [wasm] Update SDK driver to handle debugging.
* mono/mono@334ddbd3ef [wasm] Initial support for debugging.
* mono/mono@1a56fe6a15 [wasm] Fix unwinding to work with the general unwinder.
* mono/mono@ccbb873498 [interp] Fix pinvoke from dynamic methods
* mono/mono@4ad92ef05f [interp] Fix detection of pinvoke call
* mono/mono@940f2d1a9f [interp] Fix runtime invoke of pinvoke method
* mono/mono@e0f8597e9c Fix generated file when passing --bundled-header (#6736)
* mono/mono@b4ee86154f [Tailcall] tail.callvirt support for AMD64 JIT (#7426)
* mono/mono@c2bf82fb98 [System]: WebRequestStream now throws correct exception on cancellation (#7074).
* mono/mono@8e4f0d8ff4 [Tailcall] Do not create never-executed trampoline for tail.call self. (#7331)
* mono/mono@ab67bcfd0b Provide compile-tests-parallel that honors the command line so e.g. (#7479)
* mono/mono@3e8f4f7db8 [msvc] Update csproj files (#7497)
* mono/mono@a5f980dc00 [interp] Let the backend deal with thiscall cconv
* mono/mono@8b2ca1344f [interp] Fix EH with exception thrown from icall
* mono/mono@da7650d3d9 Bump API snapshot submodule
* mono/mono@03b030d921 TaskAwaiter from CoreFX
* mono/mono@12557bec39 [metadata] An array is not an IEnumerator`1
* mono/mono@1140ec5394 [test] An array is not an IEnumerator`1
* mono/mono@c0a5753b02 [metadata] Add IEnumerator`1 to MonoDefaults struct
* mono/mono@36a471f14e [System] Remove compiler config sections for types which cannot be instantiated
* mono/mono@32d06fd803 [corlib] Fix Type.GetInterface() to find implemented interface when "ignoreCase: true" is used (#7464)
* mono/mono@1181815eed [w32handle] Lower minimum memory usage (#7465)
* mono/mono@e6de24c2d1 [build] Unify DEFAULT_REFERENCE handling so I can override it with TARGET_NET_REFERENCE for individual tools
* mono/mono@73859e3df2 [msvc] Update csproj files
* mono/mono@e64cd8cc8d [profiler] Use accessor functions for MonoClass fields
* mono/mono@4e6f5f10fd nuget-hash-extractor: Add msbuild extensions nuget version from vs15.6 msbuild branch
* mono/mono@45f30c307b nuget-hash-extractor: Change the nuget repo name to use for
* mono/mono@695acd0a0b System.Text.RegularExpressions from CoreFX (#7363)
* mono/mono@85b605042b [acceptance-tests] Actually disable gcsuppressfinalize.exe test
* mono/mono@c89abe5467 Bump boringssl submodule.
* mono/mono@47df243579 [mini] unpack function pointers for jump patching
* mono/mono@095519c899 [ppc] update define usages for creating/unpacking function descriptors
* mono/mono@4fea7fb745 [ppc] use new patching machinery
* mono/mono@ffaf5ffe0f [mini-runtime] unbreak platforms where MONO_ARCH_HAVE_PATCH_CODE_NEW isn't defined
* mono/mono@8ba4947f7a [metadata] Use MonoClass getters in the rest of metadata/ (#7354)
* mono/mono@6f225e6176 [System.Windows.Forms] Fix inconsistent state of Document object (#7422)
* mono/mono@9e1ba501ff Fix for gcc 4.4; nominal support for older. (#7419)
* mono/mono@56263d4a75 [mini] Virtual call target is never known, remove dead code. (#7424)
* mono/mono@62c8557a7a [System.Security] Fixes decoding of CMS/PKCS #7 messages with an explicit cryptographic object identifier
* mono/mono@02abf28216 [corlib] Ignore TimeZoneTest.TestCtors on iOS under certain conditions due to an Apple bug. (#7429)
* mono/mono@d1ed53624b [acceptance-tests] Disable gcsuppressfinalize.exe test that started failing
* mono/mono@b664dfe79f [System.Windows.Forms] Updated unit tests (#7405)
* mono/mono@30ad219533 [mixed mode] skip gsharedvt_out_sig_wrapper frames and improve regression test
* mono/mono@dab1ffc081 [interp] use mini infrastructure for stack walking
* mono/mono@a785bd16e9 Merge pull request #7401 from filipnavara/swf-layout
* mono/mono@d2bf59dd3f PPC support for BoringTLS
* mono/mono@ee4ed72695 [acceptance-tests] Add an env var to turn on some Mono debugging options. (#7386)
* mono/mono@4af9e3a511 [Coop] Convert System.Enum to coop/handle. (#7131)
* mono/mono@7c34f0c746 [packaging] Support setting the FULL_VERSION number via env vars (#7414)
* mono/mono@f546b95edf [runtime] Increase the BCL trampoline count (#7409)
* mono/mono@fe95e4b34b [jit] Fix the patching of tail calls for gshared methods, the caller and the caller were using different instantiations to search the jump_target_hash.
* mono/mono@56bf6d3a73 Bump API snapshot submodule
* mono/mono@ff60734df4 Add unit test for TextBox.PreferredSize property and fix updating the preferred size cache on Text change.
* mono/mono@58f25ff1f0 Add makefile rule to build and run the notepad sample.
* mono/mono@7b6b607567 Remove obsolete code from FlowLayoutPanel that is no longer necessary with the corrected nested layouts.
* mono/mono@ae972579de When Form is set to AutoSize enforce it also as the minimum size for the window manager.
* mono/mono@f1de56d31c Update XplatUI backends to properly send WM_WINDOWPOSCHANGED for zero-sized windows.
* mono/mono@e563776f62 Avoid couple of size recalculations by streamlining the SetBounds, SetBoundsInternal and SetBoundsCore methods. Now explicit bounds are only updated in SetBoundsCore, no more all the updating and restoring with UpdateBounds calls. Rely on the WM_WINDOWSPOSCHANGED message to be sent from XplatUI.SetWindowPos to call UpdateBounds. This avoids an explicit call to XplatUI.GetWindowPos and UpdateBounds in SetBoundsCore.
* mono/mono@ff38080cc0 Fix for bug_82326 unit test.
* mono/mono@af26d754ae Fix couple of relayouts causing incorrectly cached control preferred size. Fix events triggered in incorrect order when Control.Controls.Remove is called. Update Dispose behavior with events and exceptions to match the reference implementation more closely.
* mono/mono@5feb428acd Update DisposeTest to work on latest version of .NET Framework.
* mono/mono@4f3adb750d Add test for label self-sizing behavior.
* mono/mono@376002afb4 Call LayoutEngine.InitLayout when appropriate and move the dist_right and dist_bottom calculation there.
* mono/mono@a859588486 Add cache for PreferredSize value.
* mono/mono@016a5a8679 Fix propagating layout to parents and then back to children when PreferredSize changes.
* mono/mono@71931189fa Remove obsolete code for layout of AutoSize forms.
* mono/mono@622ad5480d Unify the code for layout of anchored controls to avoid setting the bounds twice for controls with AutoSize set to true.
* mono/mono@78ad684762 Fix the default layout engine and its quirks enough to pass all unit tests again.
* mono/mono@cbb07605df Move GetPreferredSize implementations from container classes to respective LayoutEngine implementations. Rework the layout engines to use AutoSizeInternal property since TextBoxBase has its own AutoSize that should not be respected by layout engines. Rework automatic sizing behavior of TextBoxBase to return correct values. Rework TableLayout completely to use same code for layout and calculation of preferred size.
* mono/mono@d758a6d65f Fix updating panel references when assigning TableLayoutSettings to TableLayoutPanel.
* mono/mono@71989c037e Ignore invisible controls in FlowLayout.
* mono/mono@ca957c45b4 Apply size constrains to control sizes when calculating flow layout.
* mono/mono@4b093a9d2d Apply size constrains to control sizes when calculating flow layout preferred size.
* mono/mono@6943077ab9 Added missing support for flow breaks in FlowLayoutPanel's preferred size calculation.
* mono/mono@eed14424e5 Add tests for FlowLayoutPanel.PreferredSize.
* mono/mono@a369011555 Apply the constraints when setting MinimumSize/MaximumSize and update the unit test to demonstrate it.
* mono/mono@78f4b60e6c Reduce memory pressure by reusing the LayoutEngine objects.
* mono/mono@f56b710942 Added missing PerformLayout() calls to Control.MinimumSize and MaximumSize setters.
* mono/mono@18001b61a3 Apply Maximum/MinimumSize constraints when calculating the preferred size.
* mono/mono@1417a68137 Update Label.InternalGetPreferredSize to take the proposed size into account.
* mono/mono@73c8e1f615 Fix Label automatic sizing code.
* mono/mono@baf431b393 [metadata] Use mono_atomic_store_release to initialize gparam cache
* mono/mono@486be78f8a Update README.md with current directory structure
* mono/mono@965a813f51 [msvc] Update csproj files (#7404)
* mono/mono@0c6f7fa7c5 [mcs tests] fix runtime arguments passing to test harness (#7400)
* mono/mono@9725d50c87 [sre] Use MonoClass getters in sre-save.c (#7352)
* mono/mono@15578eab17 Bump corert
* mono/mono@43ac34b36e [sdks] Unify targets to build runtimes (#7394)
* mono/mono@e7ba41d14c Swap Close/Dispose calls so that the receiver_thread_main loop will be properly interrupted (#7390)
* mono/mono@24c52e28c0 Use VSCMD_ARG_TGT_ARCH env in mkbundle on Windows when trying to autoetect target architecture. (#7281)
* mono/mono@4874e18fd2 [corlib] Remove IVT for S.R.I.RuntimeInformation facade (#7385)
* mono/mono@a9c37afaa4 [sdks] Fix the ios build.
* mono/mono@16e5f04960 [interp] remove `method` field from `InterpFrame`
* mono/mono@182a748586 [runtime] Use MonoClass getters in object.c
* mono/mono@2713dfc577 [metadata] Move MonoClass:gc_descr and runtime_info initialization to class-init.c
* mono/mono@9abe6ebf59 [appdomain] Fix path clobbering when trying to shadow copy siblings
* mono/mono@76d5a16447 [Test] Reenable HttpRequestIgnoreBadCookies in monotouch. (#7330)
* mono/mono@bbb882b018 [sdks] Add watch device build.
* mono/mono@b4d53f4d7c [sdks] Add watch simulator build.
* mono/mono@dd5e5c8239 [sdks] Add tv simulator build.
* mono/mono@6cc113a4b3 Ios sdk changes (#7258)
* mono/mono@d8e49b1c27 Fix build from tarballs due to missing corefx.unix.sources
* mono/mono@076557c37f Use attribute(deprecated) instead of attribute(error). (#7362)
* mono/mono@68376f1f9b [msvc] Update csproj files (#7367)
* mono/mono@319749c314 Make it build.
* mono/mono@d51e55d4a3 Bump linker to its latest master.
* mono/mono@a838b6fb39 [interp] Enable more tests (#7315)
* mono/mono@8ddcea2956 [profiler] A few low-hanging enhancements. (#7314)
* mono/mono@ddf4e7be31 Update ppc badge to correct URL in README
* mono/mono@db63561143 Merge pull request #7341 from akoeplinger/dont-throw-in-dispose
* mono/mono@fa21013d7f Don't throw NotImplementedException in Dispose()
* mono/mono@2c2fac29eb [msvc] Update csproj files (#7337)
* mono/mono@4f9b89adc1 CoreFX System.Runtime.CompilerServices (#7118)
* mono/mono@cb956b58a6 Revert "Revert "[System.IO] Integrate FileSystemWatchers from CoreFX The FSEvent CoreFX watcher becomes the new default for MacOS.""
* mono/mono@fdefcf1f25 Fix build
* mono/mono@2174a521a3 Revert "[System.IO] Integrate FileSystemWatchers from CoreFX The FSEvent CoreFX watcher becomes the new default for MacOS."
* mono/mono@f5b10f34a9 [System.IO] Integrate FileSystemWatchers from CoreFX The FSEvent CoreFX watcher becomes the new default for MacOS.
* mono/mono@872c048830 [wasm] Add a missing dependency in wasm.
* mono/mono@8facc4afb2 [System]: Use new `WebCompletionSource` instead of `TaskCompletionSource`. (#7293)
* mono/mono@dfe6e2d4a2 Merge pull request #7321 from mono/fix-linuxarm-native-stacktrace
* mono/mono@9648645fb3 [System]: Enable some System.Net.Requests tests from CoreFX. (#7080)
* mono/mono@ce2584911f Fix gdb not being used for native stacktraces in some cases
* mono/mono@096147d428 [tests] Add --repeat parameter to enable runtime tests to run multiple times (#7291)
* mono/mono@a5da7b21f4  [runtime] Implement thread info flags and get rid of tools threads. (#7226)
* mono/mono@e8141fc31d [sdb] Fix VirtualMachine.CreateEnumMirror () so it works with types from non-root domains.
* mono/mono@b8da973620 [marshal] Use MonoClass getters in marshal.c (#7253)
* mono/mono@2f9b9142cd [msvc] Update csproj files (#7310)
* mono/mono@6ca674ed68 Update the random checking code in autoconf to this decade (#7250)
* mono/mono@b1801b7804 Always enable explicit null checks for AIX (#7300)
* mono/mono@31c03a9cbe [System.Windows.Forms] Remove dependency on Hwnd objects outside of XplatUI code. (#7243)
* mono/mono@6ac2003417 bump nunitlite
* mono/mono@216b5c5db8 Merge pull request #7286 from lambdageek/fix-gh-7095
* mono/mono@909b30b5ba [wasm] Fix v8 provisioning. (#7244)
* mono/mono@cfaa28e1d8 [threads] Reduce race window with async abort (#7274)
* mono/mono@f901c70548 [runtime] Don't assert in mono_class_is_assignable_from on iface gtd
* mono/mono@8d37ddbf1d [runtime] Use MonoClass getters in a few small files (#7254)
* mono/mono@375304d501 [test] System.Type.IsAssignableFrom of gtd array special interfaces.
* mono/mono@d63e8b6f5a [corlib] CompareInfo from CoreFX (#7272)
* mono/mono@c152f67574 Merge pull request #7263 from filipnavara/swf-carbontests
* mono/mono@de8dc8311d Merge branch 'master' into swf-carbontests
* mono/mono@ffbb3d90ae Merge pull request #7234 from filipnavara/swf-painteventend
* mono/mono@5705b3d207 Update CODEOWNERS
* mono/mono@905077f90f Add zlib.lib/zlibstatic.lib in Windows VS mkbundle build when using -z argument.
* mono/mono@d69c1568f6 Remove mention of MONO_THEME from man page. (#7282)
* mono/mono@dabdacd99b [metadata] Cache GenericParamInfo for anonymous gparams in MonoImage (#7155)
* mono/mono@94f8dcf102 [wasm] Add LTO release configuration. Saves 15% of binary size. (#7221)
* mono/mono@ba40177a44 Merge pull request #7269 from filipnavara/swf-theme-obsolete
* mono/mono@8ebc608feb [Tailcall] Add 11 tests that are all runnable, never crash, are self checking. (#7232)
* mono/mono@120be0fa4e Remove obsolete Nice theme code.
* mono/mono@e2e66cb4f8 [wcf] use ConcurrentDictionary for wait handles (#7265)
* mono/mono@8739c9b05a Bump api-snapshot
* mono/mono@5aafe83bbd Activate MDI child windows after showing them (fixes 7 unit tests failures).
* mono/mono@cb48d78dc6 Return dummy value in XplatUICarbon.IconSize to let System.Windows.Forms.SystemInformationTest.IconSizeTest pass.
* mono/mono@091595f3d8 Fix the default font value in test.
* mono/mono@0d524452c5 Make XplatUICarbon.SetFocus send messages synchronously, fixes 9 unit tests.
* mono/mono@bb99dcade2 Fix windows creating, destroying and message processing in Carbon driver to be stable enough not to freeze the test suite.
* mono/mono@cde44408a4 Spit out the name of a test along with the error about undisposed forms.
* mono/mono@0a2d57ed67 Call XplatUI.PaintEventEnd when an exception happens in OnPaint.
* mono/mono@931380017f Unregister thread exception handler at the end of test.
* mono/mono@0129c25e43 [tests] Use RemoteExecutor from corefx
* mono/mono@335ca28eaf [llvm] Pass only the imt argument if both imt and rgctx arguments are required.
* mono/mono@c99ac6a87e Add missing XplatUI.EndLoop call.
* mono/mono@a974057d92 [sdks] Merge mxe-Win32 and mxe-Win64 targets since we are building both in XA anyway
* mono/mono@1af9291294 Fix layout of ColorDialog on systems with different window border sizes.
* mono/mono@657c7637fb Fix typo in implementation of Disposing property.
* mono/mono@67e557fa2e Handle more special keys in KeysConverter to ensure compatibility with designer generated resource files.
* mono/mono@6d889314b2 Remove obsolete theme code (disabled by commits 910c669 and 93724d2) and the last remaining usage of MONO_THEME environment variable.
* mono/mono@67c1708677 Add PointerValue.Value to dereference and access pointer value. (#6840)
* mono/mono@9bbe5e5e5f Bump API snapshot submodule
* mono/mono@392d3452f2 [System.Net.Http] Better exception message for invalid header value
* mono/mono@798c5efa52 Fix bug 18941: Marshal.OffsetOf and Marshal.SizeOf return incorrect results (#7142)
* mono/mono@bfdbc1e676 Update the method signatures in the new X11 backend.
* mono/mono@1f0fc93de4 [sgen] Check if we are exceeding the worker count limit (#7180)
* mono/mono@12cbe9a7bd [msvc] Update csproj files (#7238)
* mono/mono@d45fb4e882 Fix xamarin-android issue 1130 and add test (#6326)
* mono/mono@a32ca3e2c2 [tests] Avoid false pinning in weak-fields test
* mono/mono@1e9816a10e [tests] Avoid false pinning in tests
* mono/mono@38846ee754 Properly handle non-quoted multipart content dispositions
* mono/mono@bf12b6318a Simplify System.Windows.Forms XplatUI code by adding PaintEventArgs parameter to PaintEventEnd.
* mono/mono@9c55770f3f [icall table] add ldflags for bitcode
* mono/mono@a9aa188ab2 Make field tokens sequential in SRE. (#7055)
* mono/mono@1804219600 [xbuild] add property that is available in msbuild (#7223)
* mono/mono@03371921a1 Problem building on Arch linux #7200 (#7230)
* mono/mono@481827b6af [runtime] Don't prepend '0x' to %p-formatted numbers.
* mono/mono@5eb4191943 [build] Remove multi stage build from Mono.Security (#7171)
* mono/mono@218ffb9883 Merge pull request #7225 from alexischr/bump-bockbuild
* mono/mono@2b068cb5a4 Fix some enable minimal. (#7195)
* mono/mono@ca47362a92 Fix mono_arch_setup_async_callback and add mono_arch_setup_resume_sighandler_ctx on PPC (#7159)
* mono/mono@6e0c91f053 [interp] add another signature for interp_in wrappers
* mono/mono@c382b03fd5 [coop] Rename mono_threads_is_coop_enabled to convay better its semantic (#7178)
* mono/mono@8900231c8b [mini] More minor JIT cleanups. (#7130)
* mono/mono@983966c7ca [bockbuild] Detect HTTP errors  when using curl
* mono/mono@0a8126c209 [WASM] Implement timers. (#7193)
* mono/mono@f0b7825189 Updates to support building the BCL using Visual Studio 2017 on windows (#6877)
* mono/mono@123d086e27 Merge pull request #6892 from lambdageek/use-getters
* mono/mono@c1cbe060f6 Merge pull request #7218 from mono/revert-6018-fix_10087
* mono/mono@49a1c8423c Disable a flaky test on Windows https://github.com/mono/mono/issues/7199
* mono/mono@199dad7e84 Revert "Run the ProcessExit events in the threadpool and enforce a 3 seconds limit. Fixes #10087"
* mono/mono@72e5ca60b8 [msvc] Update csproj files
* mono/mono@c6f91eaa58 Fix unknown-length requests being treated as if they are fully preloaded. (#6822)
* mono/mono@119cf5259e [aot] Emit the same instances in hybrid aot mode as in full aot mode.
* mono/mono@f90612e047 [bcl] Comment/stub out some unused icalls to prevent problems with AOT. (#7183)
* mono/mono@3addbfe627 Merge pull request #7181 from mono/bockbuild-download-using-curl
* mono/mono@8a52f590fc Bump bockbuild for https://github.com/mono/bockbuild/pull/62
* mono/mono@d4816ef1ab [System.Xml] Remove reflection calls for value has to be set
* mono/mono@8ce0775a03 [jit] Disable partial sharing during JITting, its only been tested in full aot mode, and doesn't seem to work with JITted methods. (#7161)
* mono/mono@2d2033e440 Use proper sized integer for ioctlsocket on Win32. (#7153)
* mono/mono@89804e62bb [mono-api-html] Expand "ignore" functionality (#7154) (#7175)
* mono/mono@df273181b5 Merge pull request #6018 from kumpera/fix_10087
* mono/mono@03b6095e3e [runtime] Magic interfaces requires the complex stelemref to handle arrays. Fixes gh #6266 (#7038)
* mono/mono@761ddc60f9 [corlib] Make MissingMember exceptions working again after #6123
* mono/mono@735337d5e6 [metadata] Implement MONO_CLASS_IS_INTERFACE(c) in terms of public API
* mono/mono@bae5cd2d6e [metadata] (class.c) Use MonoClass getters
* mono/mono@f636486045 [metadata] add missing MONO_ENTER/EXIT_GC_SAFE guards around access(2) in is_file_writable (#7126)
* mono/mono@d2383c037d [corlib] Support terminals without color support
* mono/mono@705223f6d5 [interp] Use frame_addr as base pointer in more places (#7128)
* mono/mono@5b0503a5b3 [profiler] Some minor housekeeping. (#7123)
* mono/mono@ec2faf0388 [wasm] Fix master and add sample. (#7160)
* mono/mono@ad03afd96e [msvc] Update csproj files (#7173)
* mono/mono@a85911f480 Merge pull request #6034 from alexischr/bug-59400
* mono/mono@8658bb6048 [build] Don't add specific support file to all xunit test builds (#7163)
* mono/mono@a19fad65f3 Fix copyright
* mono/mono@7de96dd412 Merge pull request #7150 from alexischr/bug-46473
* mono/mono@5fabb059cf Add Mono-specific System.Net.Test.Common.Configuration.Http. (#7156)
* mono/mono@d7551cc9bf [metadata] Improve error message for loading unresolved types (#7147)
* mono/mono@2837f433d9 [corlib] Fix RuntimeFeatureTest.NoNewFeaturesAdded on mobile (#7149)
* mono/mono@1426d6a8da [remoting] Synchronize serializer/deserializer usage for call data. Fixes #46473
* mono/mono@18e274b14b Bump corefx submodule
* mono/mono@045acb8f19 [jit] Handle more cases for gsharedvt constrained calls. (#7081)
* mono/mono@3b8ec9e97b [wasm] Fix the port to work with the latest version of emcc. (#7091)
* mono/mono@eef0801f3e Assorted fixes for AIX and i (#6934)
* mono/mono@38989b012f [Coop] Convert many simple mono_object_new_checked to mono_object_new_handle. (#7129)
* mono/mono@dd4dbd8d4b [System.ServiceModel] Prevent crash in Dispatcher.ListenerLoopManager… (#7136)
* mono/mono@1791e50b56 [class] Fix resolution of interfaces in classes implementing IEnumerator. Fixes #59400
* mono/mono@7b120ae2d4 [msvc] Update csproj files (#7140)
* mono/mono@98cadff5f6 bump nunit-lite
* mono/mono@ecadc6cf31 [wasm] Make .stamp-depot-tools more reliable. (#7078)
* mono/mono@9b1e845740 [corlib] order sources content
* mono/mono@bf3ed7115b [corlib] Add System.Runtime.ProfileOptimization APIs (#7120)
* mono/mono@6a01a0b314 WinForms: Enable external CocoaDriver external driver (#7100)
* mono/mono@a65c354f7b Bump api-snapshot submodule
* mono/mono@4d52a10ca0 [mini] Move some arch-specific interpreter logic into backends and provide stubs.
* mono/mono@4358581865 [mini] Don't use arch_target to point to arch/ subdirs.
* mono/mono@e9c51fa3e5 [mini] Use a MONO_ARCH_INTERPRETER_SUPPORTED define instead of checking archs in driver.c.
* mono/mono@23acd0f78b Fix for XA integration
* mono/mono@7da8b503c6 [msvc] Update csproj files
* mono/mono@f6a6779ff5 [corlib] CoreRT System.Threading.Tasks (#6672)
* mono/mono@ed95106965 Coop/handle conversion of ByteArrayToCurrentDomain and ByteArrayToRootDomain. (#6692)
* mono/mono@c4d1da6ef3 [master] [sdks] Fix for XA integration (#7103)
* mono/mono@a7ed34f4db Centralize handle-based post-object creation code. (#7096)
* mono/mono@79ef9d5105 Fix race condition in mono_thread_execute_interruption.  (#6833)
* mono/mono@d7626e8217 [coop] Add handle-based object create functions. (#6876)
* mono/mono@aec2773e1d Revert "[System.Drawing] Disable tests except on ARM64 (#6909)"
* mono/mono@83ed33ba2c [Coop] Convert Console to Coop/Handles. (#7060)
* mono/mono@b043ff5f74 [aot] Bump aot file format version because of 7cac757e60cd61aa070f7e0fffca225364f58c0c. (#7079)
* mono/mono@ded74c0b12 Use the preallocated domain->out_of_memory_ex instead of allocating. (#6819)
* mono/mono@52514effbf [marshal] For generic method icalls, handle generic param arguments when using coop handles
* mono/mono@e01355eead [Cplusplus] Fix possible race condition and add casts between void* and function pointers. (#6871)
* mono/mono@9209ea0629 Merge pull request #7073 from mono/disable-test-sleep
* mono/mono@cfa087bfd7 [aot] Rename mono_aot_get_method_checked () to mono_aot_get_method (), there is no non-checked version anymore. (#7071)
* mono/mono@e2419dee78 [interp] Add missing exception checkpoints (#6917)
* mono/mono@1028994a88 Disable a flaky test on PRs (https://github.com/mono/mono/issues/6999)
* mono/mono@cf644472f9 [msvc] Update csproj files (#7070)
* mono/mono@23e6f6f4b5 Revert "[jit] Make some JIT regression test files compile in the mobile profile (#7059)" (#7069)
* mono/mono@b7385ba797 [sdks] Add targets for the watch cross compiler. (#7061)
* mono/mono@fc7bda62d3 [coop] Convert some `mono_exception_*` functions Reduce managed exposure in utils a little.
* mono/mono@e2874db522 [jit] Make some JIT regression test files compile in the mobile profile (#7059)
* mono/mono@ea1fac3d89 [coop] Remove unnecessary write barriers against thread locals and cleanup a little. (#6874)
* mono/mono@3bd630eba7 [mkbundle] Automatically bundle config files and machine.config files (#7002)
* mono/mono@b90d8ec387 Remove GetNLSocket which is unused and produces a warning because it is unprototyped. (#6691)
* mono/mono@4a83009a03 WSL does not nul terminate uname.release. memset(0) it first. (#7023)
* mono/mono@8d82699736 Merge pull request #7057 from lewurm/interp-disable-flaky-pinvoke-test
* mono/mono@62bf8bd4d5 [System.ServiceModel.Activation] Move ServiceHostFactory.cs where it's used (#7044)
* mono/mono@2322177e6a [interp] disable flaky pinvoke test
* mono/mono@8ad191dfbb mono_get_exception_runtime_wrapped_checked contains an unnecessary 16 (#6659)
* mono/mono@20e69fa199 Centralize post-object creation code in mono_object_new_common_tail. (#6903)
* mono/mono@a33cbb873c [interp] Fix native to interp transition (#6868)
* mono/mono@7cac757e60 [aot] Emit the weak field indexes table using the MONO_AOT_TABLE code, so it works with separate aot data files/bitcode.
* mono/mono@8c90350d11 Add denied assembly versions from previous ms extensions nugets
* mono/mono@47187bbc9b [Mono.Posix] .NET Core compatibility - Use [In,Out] for arrays of structures
* mono/mono@57f3f34e60 Revert "[coop] Remove support for invoke thunk wrapper" (#6927)
* mono/mono@8d19e5a1c5 [runtime] Unboxing of nullable enums should throw for boxed ints. (#6958)
* mono/mono@8f35227b88 [debugger] disable StepOutAsync test because it's flaky
* mono/mono@545191f773 Pass null-terminated string for logging
* mono/mono@2c1f45f379 [TermInfo] support new file format terminfo2 introduced with ncurses6.1 (#6960)
* mono/mono@3012ce06e4 Update F# to 4.1.33
* mono/mono@ff98989579 [runtime] Avoid recreating the icall table in lookup_icall_symbol (). (#6988)
* mono/mono@17b4b28f05 [sdk] Fix the invocation of run-step.sh, the --timeout argument is mandatory. (#7013)
* mono/mono@3fdbbe5e44 [sdks] Fix the tar command since the llvm binaries are in different directories now. (#7010)
* mono/mono@f4d3da6d4a [runtime] Fix merge conflict and Move code to its right place.
* mono/mono@c3c6e6c9cd [runtime] Ignore FireProcessExit if the method is missing on corlib.
* mono/mono@b9b08c0d02 [runtime] Implement a domain resistant version of mono_domain_foreach and switch the unloading code to use it.
* mono/mono@755c5bd713 [runtime] Fix docstring for mono_unhandled_exception_checked.
* mono/mono@4f8968cf6c [corlib] Fix minor style issue.
* mono/mono@1fd32df7d1 [runtime] Introduce a non-fatal unhandled exceptions and use it for AppDomain::ProcessExit.
* mono/mono@c9c7dad3a3 Bump mono/NUnitLite
* mono/mono@dd2c320aa3 [runtime] Change domain before firing ProcessExit.
* mono/mono@7500341ec0 [runtime] Run the ProcessExit events in the threadpool and enforce a 3 seconds limit. Fixes #10087
* mono/mono@6e28ccb4e5 [utils] Add "exec" log category for misc runtime activity.
* mono/mono@96f2d163a3 Merge pull request #6970 from dsyme/patch-1
* mono/mono@e52ef6aedd [build] Fixes monolite build (#6982)
* mono/mono@36cbab657f [msvc] Update csproj files
* mono/mono@f61bc393d3 Simplify MonoError and managed Exception creation (#6123)
* mono/mono@60d4907f48 [runtime] Revert mkbundle defaulting behavior made in ca8b8bd346 (#6687)
* mono/mono@d8d3e29f38 Bump api-snapshot
* mono/mono@0354912603 Bump F# mono version to 4.1.32
* mono/mono@d573dec96e Bump linker and update linker-analyzer references
* mono/mono@d6e7483454 [interp] Fix CEE_UNBOX
* mono/mono@7a528f6f97 [sre] Unlock loader lock on error paths (#6951)
* mono/mono@e572acca55 [ci] Only create artifacts.json GitHub status on release branches
* mono/mono@939d720770 [ci] Disable monodoc tests on Windows for now
* mono/mono@ea7b3849c4 Cleanup recent JIT fix to get it done in the right place. (#6895)
* mono/mono@29d402d8e0 [handle] Have `MONO_HANDLE_*` macros use a uintptr_t instead of int (#6906)
* mono/mono@25c41cbf41 Fix gshared support for default interface methods by always passing an mrgctx to them. (#6935)
* mono/mono@1c631424d2 Merge pull request #6929 from mono/disable-test-TaskCancelWait1
* mono/mono@dcecd8ff83 Disable flaky test
* mono/mono@b97d0c43d1 [System]: WebConnection.Connect() needs to probe all IP addresses.
* mono/mono@e43adf3cd5 Change mono_thread_resume_interruption to return void, one less raw pointer to worry about. (#6690)
* mono/mono@c944c358f1 [scripts] Fix scripts/update_submodules.sh for use with git worktree
* mono/mono@7f9167bc5b [runtime] Fix the --enable-icall-symbol-map build. (#6943)
* mono/mono@921132a362 [runtime] Make icall tables loadable. (#6905)
* mono/mono@d8beb3ef11 [profiler] Remove obsolete code coverage support from the log profiler. (#6896)
* mono/mono@48898cb810 [sdks] Fix ios+llvm. (#6939)
* mono/mono@7f47f19085 [runtime] Fix a warning. (#6937)
* mono/mono@b970e766fa [interp] Add class failure checks
* mono/mono@52ebab8603 [interp] Fix varargs passing
* mono/mono@3369b6e214 [interp] Align vt stack in some places
* mono/mono@6ffa48f6ad [interp] Add define for value type alignment
* mono/mono@9f2b8595a3 [jit] Fix the DISABLE_JIT build. (#6933)
* mono/mono@5c4510a8a7 [runtime] Implement support for conflict detection for Default Interface Methods. (#6897)
* mono/mono@284c5afdf4 Bug 60088 - Assertion at ../../../../external/mono/mono/mini/debugger-agent.c:4765, condition `array->len == 1' not met (#6902)
* mono/mono@6a5a14bea7 [System.Threading.Tasks] Disable a flaky test
* mono/mono@dcda4c77bc Disable some PngCodecTest that have trouble on CI right now
* mono/mono@5e7483f354 [System.Drawing] Disable tests except on ARM64 (#6909)
* mono/mono@dd5b5ca52e Set NetworkStream.ReadTimeout in WebConnection.InitConnection(). (#6904)
* mono/mono@2a3b0812a4 [jit] Simplify some gshared code. (#6899)
* mono/mono@2a3c498cbf [interp] disable test_42_arm64_dyncall_vtypebyval
* mono/mono@43617b0123 nuget-hash-extractor: Add msbuild extensions nuget to list of nugets to
* mono/mono@4cb7884477 nuget-hash-extractor: Add support for handling nuget with multiple
* mono/mono@d2998f5089 [msvc] Update csproj files
* mono/mono@71ad99f720 [build] Narrow recursive dependencies
* mono/mono@b3d60257e5 [Mono.Security] Remove unused using
* mono/mono@06b836ed91 [wasm] Make v8 build verbose and fix zip package root. (#6900)
* mono/mono@06a89a59bc Adjust tabbing.
* mono/mono@b2ec39daa5 Add ordinal comparison when matching request path to listener paths
* mono/mono@8917ddfb0c Fixes WCF methods with path parameters in UriTemplate annotation. Bugzilla bug #25444 [https://bugzilla.xamarin.com/show_bug.cgi?id=25444]
* mono/mono@f3b1c9bd88 Pick the Listener that matches the start of the request URL
* mono/mono@c84e6c81a2 [bcl] Fix more assembly identity mismatches (#6870)
* mono/mono@9adf4bd322 [wasm] Add system test suite exclude file. (#6847)
* mono/mono@b6784b27a5 [sdks] Fix build for iOS (#6878)
* mono/mono@3f61f9ff5d configure.ac: Only use library path in libgdiplus_loc
* mono/mono@af03c6ae83 Detect libgdiplus in configure.ac by default on MacOSX (darwin). (#6873)
* mono/mono@b3eabd51c3 Bump bockbuild
* mono/mono@8bfcb27147 [System]: Revert my latest WebResponseStream changes.
* mono/mono@b9d463acb5 Bump bockbuild to get new gtk+ repo location
* mono/mono@8e678de3f3 [msvc] Update csproj files
* mono/mono@a5078a2815 Bump bockbuild to add gtk# generator fix (#6880)
* mono/mono@3203c8bfb3 Merge pull request #6835 from alexischr/disable-monitor-wait-test
* mono/mono@fcb97b2279 [sdks] Add Android build for CI (#6846)
* mono/mono@149073b84c Use gpointer (void*) as a generic pointer, not char*. (#6704)
* mono/mono@31784ba06c [reference-assemblies] Fix public key for some newer v4.7.1 facades (#6863)
* mono/mono@1ad2fc4891 [sdks] Fix download-llvm.sh
* mono/mono@9cab3d73c6 [timezone] ignore LocalId test on XAMMAC_4_5 too
* mono/mono@2c96890aff [sdks] Fix execution permission of download-llvm.sh
* mono/mono@e9235144ca Bump corefx. (#6810)
* mono/mono@766bf49afb [metadata] Define getters for MonoClass fields (#6652)
* mono/mono@c1fd4b064d Add stubs for Interop.NetSecurityNative (#6824)
* mono/mono@d813c533b9 [arm64] Handle arguments of type ArgVtypeOnStack in the dyn call code. Part of the fix for #59184. (#6826)
* mono/mono@d79a892d77 [configure.ac] Do not always enable ninja (#6823)
* mono/mono@0a3d7c0da6 Disable a couple of flaky tests (monitor-*abort)
* mono/mono@43026da5d4 [sdks] Bring back download of llvm for iOS (#6818)
* mono/mono@f8a4bbd357 [ci] Add setting artifacts.json status
* mono/mono@687dc212dc [ci] Add Windows .msi PR build (#6815)
* mono/mono@4b8e0bea19 [interp] Add support for vararg call convention
* mono/mono@f6786099a5 [glib] Include ALIGN_TO and ALIGN_PTR_TO
* mono/mono@d3647fa17e [interp] Add storage fetching for typedbyref
* mono/mono@c8b7d6eece [interp] Add class check for refanyval
* mono/mono@b66cbf955f [interp] Remove virtual call duplicated code
* mono/mono@c3c2819da7 [interp] Remove void call duplicated code
* mono/mono@ed9e0d101d [interp] Rename variable
* mono/mono@f6964ef658 [interp] Remove some null checks
* mono/mono@e8cdc382a7 Bump API snapshot submodule
* mono/mono@1dd3fd1c64 Add missing api to System.Data (fixes 6767)
* mono/mono@386b4d2bc6 [Mono.Posix] Fix the Android xattr check to not disable it on all other platforms.
* mono/mono@9317773e68 [tests] Disable threads-init.exe, it runs out of system threads. (#6803)
* mono/mono@63652bfc25 [utils/threads] Gracefully handle ENOTSUP from pthread_kill () on Apple platforms. (#6754)
* mono/mono@96082e3495 Fix some function pointer types to match, i.e. so C++ compiles w/o extra casts. (#6732)
* mono/mono@ed4331a3d8 [ide] Add setup file for VSCode
* mono/mono@993ed19a6f [metadata] Move MonoClass initialization to a separate file (#6611)
* mono/mono@f01083ac48 [runtime] Add a 'frame_addr' field to MonoStackFrameInfo, which is equal to either interp_frame or ctx->sp. (#6644)
* mono/mono@c0bd5f8a5a [sdks] Script lldb android integration (#6310)
* mono/mono@c7f89e7837 [ci] Make sure packageFileName is a string
* mono/mono@51ec3ddf99 Bump version to 5.13 (#6792)
* mono/mono@da03780370 [System]: WebResponseStream now correctly reads the chunk trailer when using gzip/deflate. (#6771)
* mono/mono@0bfda265b7 [ci] Report pending/failed status on GitHub for pkg/msi
* mono/mono@4682391599 [ci] Include commit hash in blob URL of pkg/msi

Diff: dcdd956e1b...59e6eb29e6

https://bugzilla.xamarin.com/show_bug.cgi?id=46473
https://bugzilla.xamarin.com/show_bug.cgi?id=59184
https://bugzilla.xamarin.com/show_bug.cgi?id=59400
https://bugzilla.xamarin.com/show_bug.cgi?id=60843

* Bump to mono/2018-04/28597809

Commit list for mono/mono:

* mono/mono@2859780927 [corlib] Make more crypto oids work on mobile profiles when not linked out
* mono/mono@61ab3f7a34 [2018-04] [sdks] Add support for building llvm unless the USE_PREBUILT_LLVM Make.config var is set. (#8148)
* mono/mono@6d5d7b57f2 [interp] support r4 (single) in stelem instruction
* mono/mono@f710b2c8e5 [llvm] Increase the inline limit when using llvm in jit mode. (#8167)
* mono/mono@e50ce8ad66 [mcs] Fixes parameter check for interface types used with default parameters
* mono/mono@b818777705 [System] Don't use http://www.mono-project.com for test (#8147)
* mono/mono@05ed822a48 [corlib] Implements CryptoConfig::AddAlgorithm on all profiles
* mono/mono@0a5fdb5841 [2018-04] [Facades] Add System.Drawing.Common on mobile only (#8129)
* mono/mono@13183bc82b [2018-04]  [corlib] Enable machine.config dependant version of CryptoConfig for net_4_x profile only (#7974)
* mono/mono@147e34f254 [mcs] Adds private protected modifier to the parser only
* mono/mono@561092003c [w32file] Fix memory leak (#8113)
* mono/mono@6cdbc561fc [sdks] Fix arguments passed to llvm on Linux (#8110)
* mono/mono@0dba58a734 [2018-04] more iOS sdk backports  (#8063)
* mono/mono@c0af9ad2cc [mcs] Fixes codegen when probing reference type expression is known to pass and pattern variable has to be created (#8086)
* mono/mono@88b6094e06 [System] Disables compiled regex (#8088)
* mono/mono@4fbdeebbe8 [mcs] Implements C# 7 digits separators (#8098)
* mono/mono@bd8731da01 [interp] use same domain as transform phase to register debug data for a method
* mono/mono@ea838e84f1 [SDKS] fix Linux (and possibly other OSes) build for Android (#8043)
* mono/mono@c3ae712ab1 [mcs] Implements C# 7.2 stackalloc span conversion in conditional expression
* mono/mono@7af9ad8cdb [interp] workaround undefined behaviour in r8 to u1 cast
* mono/mono@5921faad1c [runtime] Fix --disable-btls.
* mono/mono@4bad0d6765 [mcs] Implements C# 7.2 conditional ref expression
* mono/mono@b0aaec8e96 [interp] do not bake object reference into code stream
* mono/mono@e0b0a87e65 [sdks] Use wget in place of curl, it's installed by default on Linux (#8059)
* mono/mono@b8fb7b5e18 [System]Fix memory leak in the web stack related to `Task.Delay` (partial fix of #7356).
* mono/mono@8a20f0dfff [SDKS] Fix Android SDK build on Linux (#8024)
* mono/mono@04529e90e2 [interp] fix i4<>i8 conversion for builtin types, it was inverted (#7987)
* mono/mono@83d7bc1a0c [sdks] Fix MXE_PREFIX for XA (#8009)
* mono/mono@d1c10f8693 [sdb] Add reference counting for single step requests, they can be accessed concurrently by the single step processing code and the event request clearing code. Fixes #7137. (#7971)
* mono/mono@e9b1c90e9d [2018-04] [sdks] Add provisioning for Android SDK and NDK (#7978)

Diff: 59e6eb29e6...2859780927

* Fix linker build

* [mono] Update mono-api-info/html building instructions

* Bump mono

Commit list for mono/mono:

* mono/mono@b7015d6fd2 Merge pull request #8336 from monojenkins/backport-pr-8302-to-2018-04
* mono/mono@68f94932b7 Remove unused signal.h include in interp.c
* mono/mono@de3c8c587a [corlib] Disable failing test on XA (#8353)
* mono/mono@766778b545 Fix mono_perfcounter_instance_exists to match prototype when #ifndef DISABLE_PERFCOUNTERS.
* mono/mono@3693fb14f4 [sdks] Fix mktemp parameters (#8323)
* mono/mono@98a3dd7f34 [corlib] Fix TimeZoneInfo.Local when /usr/share/zoneinfo is a symlink (#8305)
* mono/mono@32ba15ee0b [corlib] SynchronizationContext does not work on non-root AppDomain on Android (#8297)
* mono/mono@0931f21c4c [w32file-unix] fix mistake in 8430155946c31f0f3f5f04017eebd79ac15e566d (#8300)
* mono/mono@85e13e6e2f [2018-04] [runtime] Add public API to set the pending exception. (#8279)
* mono/mono@d835b7d55f [2018-04] Fix timestamp for file copy (#8248)
* mono/mono@1d946e0f38 [sdks] Fix typo + Fix verbosity of unzip-android-archive.sh (#8244)
* mono/mono@bfa85bcaaa [msvc] Update csproj files
* mono/mono@ecd24fa6b5 Merge pull request #8204 from monojenkins/backport-pr-8202-to-2018-04
* mono/mono@eee8ff7cfc [system.net] disable some tests to unblock XI integration
* mono/mono@99a992605f [System.Net.Http] Use '*' as the host instead of '+' in the tests. Fixes xamarin/maccore#673.
* mono/mono@13aa6b7199 [eglib] GMarkup: allow all ASCII NameStartChar and NameChar except ':'
* mono/mono@3472efcdf9 [sdks] Add ANDROID_BUILD_TOOLS_DIR to differentiate it from ANDROID_BUILD_TOOLS_VERSION (#8194)
* mono/mono@1029de3147 [sdks] Fix typo (#8188)

Diff: 2859780927...b7015d6fd2

* [Make.config] Update MIN_OSX_BUILD_VERSION

Xcode 9.3 requires a Mac running macOS 10.13.2 or later.

* [mono] Update mono-api-info.exe location

* Bump to mono/2018-04/61fa43b9

Commit list for mono/mono:

* mono/mono@61fa43b909 Merge pull request #8423 from luhenry/backport-pr-8411-to-2018-04
* mono/mono@196ea0219b Merge branch '2018-04' into backport-pr-8411-to-2018-04
* mono/mono@b7db3364a0 [2018-04] Backport float32 changes. (#8398)
* mono/mono@20ae78fcc8 Merge pull request #8394 from monojenkins/backport-pr-8318-to-2018-04
* mono/mono@a5af7f28dc [arm] Fix a regression introduced by: (#8414)
* mono/mono@869e019e15 [mini] Add regression test for punting a type system check.
* mono/mono@3ddda667e1 [mini] Don't verify types if you store to a pointer byref. Workarounds #8403.
* mono/mono@599f3dd3af [watch] Align cinfo->stack_usage to 16 on watchos. (#8375)
* mono/mono@efdd8353ed [packaging] Apply F# patch that fixes #8310 (#8400)
* mono/mono@cf3e776887 [2018-04] [runtime] Add a signal handler for sigterm (#8384)
* mono/mono@38ffddd6c7 [runtime] Set the error if the class has a failure.
* mono/mono@f2943b182a [runtime] Use m_class_has_failure ().
* mono/mono@584b77e402 [runtime] Handle failed classes in mono_type_get_checked (). Fixes https://github.com/mono/mono/issues/8311.
* mono/mono@34bb601d18 [sdks] Match more closely the pre-SDKs configure flags passed to LLVM (#8381)
* mono/mono@b759166b96 [System.Net] do not use Thread for SocketTest.TestSelect1 (#8368)
* mono/mono@b7015d6fd2 Merge pull request #8336 from monojenkins/backport-pr-8302-to-2018-04
* mono/mono@68f94932b7 Remove unused signal.h include in interp.c
* mono/mono@de3c8c587a [corlib] Disable failing test on XA (#8353)
* mono/mono@766778b545 Fix mono_perfcounter_instance_exists to match prototype when #ifndef DISABLE_PERFCOUNTERS.
* mono/mono@3693fb14f4 [sdks] Fix mktemp parameters (#8323)
* mono/mono@98a3dd7f34 [corlib] Fix TimeZoneInfo.Local when /usr/share/zoneinfo is a symlink (#8305)
* mono/mono@32ba15ee0b [corlib] SynchronizationContext does not work on non-root AppDomain on Android (#8297)
* mono/mono@0931f21c4c [w32file-unix] fix mistake in 8430155946c31f0f3f5f04017eebd79ac15e566d (#8300)
* mono/mono@85e13e6e2f [2018-04] [runtime] Add public API to set the pending exception. (#8279)
* mono/mono@d835b7d55f [2018-04] Fix timestamp for file copy (#8248)
* mono/mono@1d946e0f38 [sdks] Fix typo + Fix verbosity of unzip-android-archive.sh (#8244)
* mono/mono@bfa85bcaaa [msvc] Update csproj files
* mono/mono@ecd24fa6b5 Merge pull request #8204 from monojenkins/backport-pr-8202-to-2018-04
* mono/mono@eee8ff7cfc [system.net] disable some tests to unblock XI integration
* mono/mono@99a992605f [System.Net.Http] Use '*' as the host instead of '+' in the tests. Fixes xamarin/maccore#673.
* mono/mono@13aa6b7199 [eglib] GMarkup: allow all ASCII NameStartChar and NameChar except ':'
* mono/mono@3472efcdf9 [sdks] Add ANDROID_BUILD_TOOLS_DIR to differentiate it from ANDROID_BUILD_TOOLS_VERSION (#8194)
* mono/mono@1029de3147 [sdks] Fix typo (#8188)

Diff: 2859780927...61fa43b909

* Merge branch 'master' of github.com:xamarin/xamarin-macios into mono-2018-04

* Bump to mono/2018-04/fd09fd9d

Commit list for mono/mono:

* mono/mono@fd09fd9d44 [sdks] fix $(mktemp) usage on older versions of macOS (#8521)
* mono/mono@12a2142852 [2018-04] [arm64] Interp entry trampoline (#8484)
* mono/mono@c7b237f1be [2018-04] [interp] Enter in the interp through a single generic trampoline (#8453)
* mono/mono@0ebfd3e385 Merge pull request #8471 from monojenkins/backport-pr-8306-to-2018-04
* mono/mono@50d84a3719 Only show config.log when running on bots.
* mono/mono@3e566852dc [sdks] Wrap configure to provide better output.

Diff: 61fa43b909...fd09fd9d44

* [mmp]: Reflect latest 'FtpRequestCreator' -> 'FtpWebRequestCreator' change.

* Track mono/2018-04

Commit list for mono/mono:

* mono/mono@c4492e0949 Merge pull request #8656 from monojenkins/backport-pr-8438-to-2018-04
* mono/mono@ab6962b183 [System] Add regression test for #8417.
* mono/mono@ad1a10e4a4 [System] When doing process redirect, use Console.OutputEncoding instead of Console.Out.Encoding. Fixes #8417.
* mono/mono@ecf6b88205 Bump msbuild to track mono-2018-02 (#8631)
* mono/mono@f3577389f6 Merge pull request #8595 from monojenkins/backport-pr-8580-to-2018-04
* mono/mono@9a4c8f3398 nuget-hash-extractor: Add msbuild extensions nuget version from
* mono/mono@f42debee5e nuget-hash-extractor: Add msbuild extensions nuget version from
* mono/mono@9ca82d47ee nuget-hash-extractor: Add `all` option to emit all 3 lists
* mono/mono@ce195600a3 nuget-hash-extractor: Improvements for better, deterministic output
* mono/mono@da473eaff5 nuget-hash-extractor: Sort the lists for easier reviews
* mono/mono@858aa226dc [native types] fix nfloat:NaN on arm64 JIT and interp (#8565)

Diff: fd09fd9d44...c4492e0949

* [tests] Update AttributeTest.DebuggerTypeProxy_24203

Mono now uses a different interface for DebuggerTypeProxy

* Bump to mono/2018-04/419d3136

Commit list for mono/mono:

* mono/mono@419d3136fe mkbundle interop changes
* mono/mono@97101d40aa don't fail on unsupported ipv6 in BeginConnect
* mono/mono@4785686a4d Backport "Implement Freeform Unmanaged Error" to 2018-04 (#8688)
* mono/mono@61c25c4e10 Added corlib .sources files for the ORBIS profile (#8786)
* mono/mono@99fedb1741 [aot] Fix encoding/decoding of types with custom modifiers. (#8729)
* mono/mono@32ae8ad528 Bump bockbuild to get Pango patch
* mono/mono@c1ef203b2c [corlib tests] improve ThreadPrincipalTests regarding SynchronizationContext (#8761)
* mono/mono@a7160188e5 [ci] Fix URL for apidiff/csprojdiff report
* mono/mono@ef73a4955d Bump bockbuild to pull in GTK userSpaceScaleFactor deprecation warning fix
* mono/mono@769481d834 [Mono.CSharp] Mimic the settings from System to track the feature flags, fixes GitHub #8698 (#8706)
* mono/mono@4e47c8dfdc Bump msbuild to track mono-2018-02 (#8683)

Diff: c4492e0949...419d3136fe

* [tests/mini] Enable use of C# 7.2, needed by mono test mono\mini\aot-tests.cs

* [mmp] Update dllmaps to include System.Native redirected (for System.IO.FileSystemWatcher)

* Bump Mono

* Build mmp against old api to run on non-matching mono runtime versions

* [mmp] Adjust linker sources

* Revert garbage change by last commit

* Bump mono

* Update api diff to use precompiled version to avoid problems with mismatching references

* Updates Compression Span overrides

* Fixes mtouch build

* Fixes api-diff tool for mac to look up in the right folder for 4.5 dependencies

* Update tests to work with the latest linker enhancements

* More linker tests fixes

* Bump to mono/2018-04/e129a25c

Commit list for mono/mono:

* mono/mono@e129a25c91 [System.Runtime.Serialization] Makes more APIs work for mobile
* mono/mono@543b6872fe Bump msbuild to track mono-2018-04
* mono/mono@33a9dca493 Add PowerPC configure flags for LLVM, and clean up failover linker flags (#8996)
* mono/mono@7008c37886 Merge pull request #8992 from monojenkins/backport-pr-8285-to-2018-04
* mono/mono@854f3e2952 [mono-api-html] Fix markdown diff which was reversed
* mono/mono@c54cae3345 [bitcode] Fix the generation of invalid llvm IR for some Span code.
* mono/mono@5d60a2b843 [mono-api-html] Update tool to optionally output markdown
* mono/mono@1f3334fd93 Merge pull request #8974 from mono/backport-fix-gh-8712-to-2018-04
* mono/mono@23c06f5e54 Merge pull request #8973 from monojenkins/backport-pr-8813-to-2018-04
* mono/mono@9def5c0a11 [System.IO] Dispatch events asynchronously in FileSystemWatcher.DispatchEvents()
* mono/mono@c903094761 [System.IO] Prevent the CoreFX bridge from even try-entering a monitor.
* mono/mono@462f511222 [System.IO] Finish initializing all FileSystemWatchers, not just the first one
* mono/mono@a08e664e4c [System.Windows.Forms] fix PropertyGrid
* mono/mono@2987232bc1 Merge pull request #8953 from directhex/fix-2018-llvm
* mono/mono@5ddc0c5fdf Fix building of LOADED_LLVM on Linux, from duplicate eglib linking (#8287)

Diff: b2ded076c9...e129a25c91

* More linker tests fixes

* Another linker tests update

* Fixes missing references path in update mac references

* Bumps mono

* Bump system mono to a version that has mono_runtime_set_pending_exception. Fixes mono/mono#9211.

Fixes https://github.com/mono/mono/issues/9211.

* More tests update for the linker

* Bump to mono/2018-04/f22c8b706eb

Commit list for mono/mono:

* mono/mono@f22c8b706e [loader] LoadFrom of problematic images should reprobe (correctly)
* mono/mono@9d43da2ebf [profiler] account for nullbyte in allocated buffer
* mono/mono@3737edb881 [corlib] Allow DM with an extra param to have the first one bound to null. Fixes #9033.

Diff: 07c8f25fe5...f22c8b706e

* Another mono bump
2018-06-27 10:59:59 -04:00
Sebastien Pouliot 8fcce2310f [mtouch] Warn, don't error, with a newer xcode wrt rdar://40824697 2018-06-19 17:41:22 -04:00
Alex Soto 3aa2167928
[IdentityLookupUI] Add bindings for Xcode 10 Beta 1 (#4281) 2018-06-15 20:46:35 -05:00
Manuel de la Pena f77f44940e
[NaturalLanguage] Added the new framework for Xcode10. (#4236) 2018-06-14 19:21:44 +02:00
Sebastien Pouliot 5784f8daee
[authenticationservices] New iOS-only framework added in beta 1 (#4234) 2018-06-13 14:06:37 -04:00
Alex Soto 20f5d952a9
[CarPlay] Adds Xcode 10 Beta 1 Bindings (#4217)
* [CarPlay] Adds Xcode 10 Beta 1 Bindings

* Adds [DisableDefaultCtor] to CPVoiceControlTemplate

* Implement feedback
2018-06-12 12:12:20 -07:00
Sebastien Pouliot 2d6ce7459d
Bump to use Xcode 10 beta 1 (#4179)
* Bump to use Xcode 10 beta 1

* Update Versions.plist

* Add a dependency on Xcode 9.4.

* [msbuild] Fix build with Xcode 10 beta 1. (#4182)

Many years ago (in Xcode 7 according to code comment)
Developer/Platforms/iPhoneOS.platform/Developer/usr disappeared, and we coped
by looking at Developer/usr instead (and also the subsequent code to locate
the bin directory was based on the location of the usr directory).

Developer/Platforms/iPhoneOS.platform/Developer/usr reappeared in Xcode 10
beta 1, but it seems useless (for one it doesn't contain a bin directory), so
in order to try to keep things sane don't look for this directory in Xcode 10
and instead go directly for Developer/usr (which is what we've been using as
the usr directory for years anyway).

Fixes this problem when building apps with Xcode 10 beta 1:

      /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(626,3): error : Could not locate SDK bin directory [/Users/rolf/Projects/TestApp/test-app.csproj]

* [runtime] Build 32-bit mac executables using Xcode 9.4.

* [mtouch] Work around broken tvOS headers in Xcode 10 beta 1.

* [mtouch] Work around build problem with Apple's simd headers in Objective-C++ mode.

* Use version-agnostic paths to sdk directories.

* [tests][xtro] Add todo files (from unclassified) and adjust ignore files to avoid errors

* [macos][security] Re-enable SSL[Get|Set]AlpnProtocols. Fixes #4001 (#4022)

* [macos][security] Re-enable SSL[Get}Set]AlpnProtocols. Fixes #4001

This was fixed in macOS 10.13.4

https://github.com/xamarin/xamarin-macios/issues/4001

* [tests][monotouch-tests] Disable a few test cases (one crasher, other failures). Causes to be verified later

* [xharness] Fix permission dialog suppression in Xcode 10.

* [xharness] Ignore 32-bit macOS tests by default.

* [tests] Execute mmp regression tests with Xcode 9.4 since many of them are 32-bit and needs porting to 64-bit.

* [mmptest] Ignore 32-bit XM tests if we don't have a 32-bit-capable Xcode.

* [registrar] Add workaround for broken headers in Xcode 10 beta 1 (radar 40824697).

* [mtouch] Restrict another workaround for an Xcode 10 beta 1 bug to a specific Xcode version to remove it asap.

* [tests] Fix some protocol changes (public or not) find by introspection tests

* [tests][intro] Fix DefaultCtorAllowed failures

* [Intents] Obsolete several Intents classes in watchOS.

Several existing Intents classes have been marked as unavailable in watchOS in
the headers in Xcode 10 beta 1, and corresponding tests are now failing.

So obsolete the managed wrapper types, and fix tests accordingly.

* Fix xtro wrt previous Ietents/intro changes

* [tests] Minor adjustments to mtouch tests to work with Xcode 10.

* [msbuild] Update tests to cope with additional files produced by the Core ML compiler.

* [msbuild] Xcode 10 doesn't support building watchOS 1 apps, so show a clear error message explaining it.

Also update tests accordingly.

* [coreimage] Stub new filters and exclude ?removed? ones from tests

* Update GameplayKit and SpriteKit NSSecureCoding _upgrade_ and fix other non-public cases (in tests)

* [tests] Ignore some GameKit selectors that don't respond anymore (but seems to be available, at least in header files)

* [tests] Fix intro 32bits testing for filters resutls

* [msbuild] Slightly change error message to be better English.
2018-06-08 18:45:24 -07:00
Sebastien Pouliot 30d644d5a1
Merge pull request #4157 from VincentDondain/master-merge-xcode9.4
Merge xcode9.4 into master
2018-05-31 08:42:31 -04:00
Alex Soto 070c271def
[Linker] Remove bundled mscorlib.xml descriptor from mmp and mtouch (#3772)
* [Linker] Remove bundled mscorlib.xml descriptor from mmp and mtouch

This fixes xamarin/xamarin-macios#3749

We currently process both mscorlib.xml descriptors[1] from the mtouch/mmp
bundle and also the one contained in mscorlib.dll as resource, we are now removing
the descriptor bundled inside mtouch and mmp in favour of the one bundled in
mscorlib.dll.

Source descriptors files for diff:

mono (master): ea4274f2eb/mcs/class/corlib/LinkerDescriptor/mscorlib.xml
XI (master): da6db5f660/tools/linker/Descriptors/mscorlib.xml
XM (master): da6db5f660/tools/mmp/linker/Descriptors/mscorlib.xml

Diffs:

Mono - XI descriptor diff: https://gist.github.com/dalexsoto/f0b1c9c66bf50edf8198063ec039a17b
Mono - XM descriptor diff: https://gist.github.com/dalexsoto/06b253a6743d366a4b9addc21a1e2c2a

[1]: https://github.com/xamarin/xamarin-macios/issues/3749#issuecomment-373770268

Also Removed mscorlib.xml files and removed unused var in makefiles
2018-05-30 17:14:49 -05:00
Vincent Dondain 4892ffc6ec Merge branch 'xcode9.4' into master 2018-05-29 14:26:32 -04:00
Sebastien Pouliot b2e6aba41c
[mtouch][mmp] Add better easier, more complete timestamps to see where time is spent (#4150)
* Share the stopwatch code between `mtouch` and `mmp`;

* Add more details on linker steps. Sadly substeps are executed on the
  metadata so they can't be reported individually;

* Add a few places where timestamps where missing to get better precision
  on the linking part;
2018-05-29 13:08:34 -04:00
Sebastien Pouliot 68151d61c9
[mtouch] Cache result of IsArchEnabled in targets and application (#4149)
On my test project we were calling `IsArchEnabled` 334,713 times which
made the enumerator called enough to show on the memory usage (13MB),
even if each instance is only 40 bytes.

Caching the result makes the method called only 5 times.
2018-05-29 11:14:10 -04:00
Bernhard Urban 394117885c
[runtime] add support for mono runtime interpreter (#3058)
* [runtime] build interp-, icalltable- and ilgen libraries so they can be consumed in interpreter configuration

* [mtouch] add --interpreter configuration support

* [xharness] Add support for removing defines from cloned project files.

* [xharness] Run monotouch-test, mscorlib and mini tests with the interpreter too.

They're ignored for now, which means we won't run them on the bots.

* [mtouch] We're using dlsym when using the interpreter.

* [xharness] enable mini regression tests with interpreter on CI
2018-05-04 23:59:31 +02:00
Sebastien Pouliot 9208e9a0a4 Add xcode9.4 support into 15.7
The PR is not final and cannot be merged until the final Xcode 9.4
release from Apple is available.

Since there's no macOS specific changes (at least up to beta 2) we can
directly merge into the _normal_ milestone branch and avoid having
separate branches to maintain for XI and XM (until 15.8).
2018-05-03 13:55:11 -04:00
Rolf Bjarne Kvinge 0715e814cd
[mtouch/mmp] Fix deprecation notice for --force-thread-check/--disable-thread-check. (#4011)
The --linker-optimize option is an early version of the current --optimize
option, and apparently I forgot to update everything when the option changed
name.
2018-04-30 15:33:48 +02:00
Rolf Bjarne Kvinge 573a3081d7
Build assemblies we ship deterministically. Fixes #3525. (#3996)
Fixes https://github.com/xamarin/xamarin-macios/issues/3525.
2018-04-27 07:44:34 +02:00
Rolf Bjarne Kvinge 07e8c02c6d
[mtouch/mmp] Add -nologo to the compiler command line to quiet build. (#3987) 2018-04-25 18:25:32 +02:00
Alex Soto 347160cf51
[ClassKit] Add Xcode 9.4 Beta 1 Bindings (#3853)
* [ClassKit] Add Xcode 9.4 Beta 1 Bindings

* ClassKit moved to v11.4 or we'd link against a private frmework in 11.3

* Turn CLSPredicateKeyPath into a static class

CLSPredicateKeyPath does not make much sense as an enum, we'll use
a static class instead so we do not have to call GetConstant() and
use the NSString directly.

Sample code using CLSPredicateKeyPath:

```csharp
var store = CLSDataStore.Shared;
var predicate = NSPredicate.FromFormat ("%K = %@", CLSPredicateKeyPath.Parent, store.MainAppContext);
var ctxs = await store.FindContextsMatchingAsync (predicate);
foreach (var ctx in ctxs) {
	Console.WriteLine (ctx.Title);
}
```

* [tests] Exclude WeakTopic incorrect check, bound as smart enum
2018-04-05 10:20:05 -05:00
Manuel de la Pena 51f16d962b
[MTouch] Fix small typo. Fixes #3790 (#3867) 2018-04-05 10:53:20 +02:00
Vincent Dondain 2a84c116db Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
Sebastien Pouliot dd39753bc6
[mtouch] Use full path to mono-symbolicate instead of UseShellExecute (#3825) (#3834)
Fix https://github.com/xamarin/xamarin-macios/issues/3653 differently as
`UseShellExecute` cannot be used when redirecting output so the original
fix [1] caused an exception which affected it from both macOS and windows
(thru XMA) instead of being an issue only with the later.

It's not clear how the original [1] fix was validated successfully, it's
possible than an older version of mono did not throw (since that
limitation seems windows specific).

[1] https://github.com/xamarin/xamarin-macios/pull/3781
2018-04-02 10:06:56 -04:00
Vincent Dondain d34f1fbbd7 Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
Sebastien Pouliot b09c04352d
[mtouch] Use full path to mono-symbolicate instead of UseShellExecute (#3825)
Fix https://github.com/xamarin/xamarin-macios/issues/3653 differently as
`UseShellExecute` cannot be used when redirecting output so the original
fix [1] caused an exception which affected it from both macOS and windows
(thru XMA) instead of being an issue only with the later.

It's not clear how the original [1] fix was validated successfully, it's
possible than an older version of mono did not throw (since that
limitation seems windows specific).

[1] https://github.com/xamarin/xamarin-macios/pull/3781
2018-03-29 17:30:29 -04:00
Manuel de la Pena 2530d5a99f [mtouch] Pass ShellExecute true in CopyMSymData. Fixes #3653 (#3809)
https://github.com/xamarin/xamarin-macios/issues/3653
2018-03-23 14:59:21 -04:00
Manuel de la Pena e10ae0d323
[Mtouch] Pass ShellExceute true in CopyMSymData. Fixes 3653 (#3781) 2018-03-23 16:59:30 +01:00
Rolf Bjarne Kvinge 0d29ca93c3
[mtouch] Ignore 'objc-missing-super-calls' warnings from clang when compiling registrar code. Fixes bugzilla #60624. (#3801)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=60624.
2018-03-22 18:34:41 +01:00
Rolf Bjarne Kvinge 379a4fb2f5
[mtouch] Don't build libmonotouch-fixes.dylib anymore, it's not used. (#3745)
* [mtouch] Don't build libmonotouch-fixes.dylib anymore, it's not used.

We haven't used libmonotouch-fixes.dylib for over a year (and it stopped
working before that), so this seems safe to remove.

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

* [mtouch] Keep the monotouch-fixes.c code, since it's still used in 64-bit simulator.
2018-03-15 15:14:44 +01:00
Rolf Bjarne Kvinge 15a0f94384
[mtouch] When loading cached linked results, we need to propagate the 'RemoveDynamicRegistrar' value to code-sharing extensions. (#3708) (#3711) 2018-03-09 23:15:01 +01:00
Rolf Bjarne Kvinge b242afc8aa
[mtouch] When loading cached linked results, we need to propagate the 'RemoveDynamicRegistrar' value to code-sharing extensions. (#3708) 2018-03-09 17:24:47 +01:00
Rolf Bjarne Kvinge c4540e5f17 [mtouch] Move native code sharing check for the remove-dynamic-registrar optimization until after checking the linker settings. (#3643) (#3661)
Fixes this test failure:

1) Failed : Xamarin.MTouch.MT0113_linker
The error 'MT0113: Native code sharing has been disabled for the extension 'testServiceExtension' because the managed linker settings are different between the container app (None) and the extension (All).' was not found in the output:
	Message #1 did not match:
		actual:   'Native code sharing has been disabled for the extension 'testServiceExtension' because the remove-dynamic-registrar optimization differ between the container app (default) and the extension (false).'
		expected: 'Native code sharing has been disabled for the extension 'testServiceExtension' because the managed linker settings are different between the container app (None) and the extension (All).'

which happens because:

* Removing the dynamic registrar requires the linker, so removal of the dynamic registrar is disabled if the linker is not disabled
* This results in the app and appex having different values for the remove-dynamic-registrar option
* Thus the error message.

Technically either error is correct, but I prefer the previous one (about the
linker), because it directly assigns blame (the linker setting). Figuring out
what has to change (the linker setting) when the error message complains about
an optimization is not so straight forward for users.
2018-03-05 17:18:54 -05:00
Sebastien Pouliot 29676a3662 Merge 15.6 into xcode9.3 2018-03-05 17:16:28 -05:00
Rolf Bjarne Kvinge 664c790b8c
[mtouch] Propagate the computed value for removal of the dynamic registrar to code shared app extensions. (#3622) (#3630)
This fixes a startup crash in code shared app extensions due to having the
wrong value set in the runtime (the dynamic registrar was removed, but the
executable didn't know it).
2018-03-05 07:41:56 +01:00
Rolf Bjarne Kvinge f3055ddd6d
[mtouch] Move native code sharing check for the remove-dynamic-registrar optimization until after checking the linker settings. (#3643)
Fixes this test failure:

1) Failed : Xamarin.MTouch.MT0113_linker
The error 'MT0113: Native code sharing has been disabled for the extension 'testServiceExtension' because the managed linker settings are different between the container app (None) and the extension (All).' was not found in the output:
	Message #1 did not match:
		actual:   'Native code sharing has been disabled for the extension 'testServiceExtension' because the remove-dynamic-registrar optimization differ between the container app (default) and the extension (false).'
		expected: 'Native code sharing has been disabled for the extension 'testServiceExtension' because the managed linker settings are different between the container app (None) and the extension (All).'

which happens because:

* Removing the dynamic registrar requires the linker, so removal of the dynamic registrar is disabled if the linker is not disabled
* This results in the app and appex having different values for the remove-dynamic-registrar option
* Thus the error message.

Technically either error is correct, but I prefer the previous one (about the
linker), because it directly assigns blame (the linker setting). Figuring out
what has to change (the linker setting) when the error message complains about
an optimization is not so straight forward for users.
2018-03-02 18:28:07 +01:00
Chris Hamons cabc4fbe2c [mmp] Add stripping of 32-bit dylibs to work with new App Store restrictions (#3387) (#3633)
- https://github.com/xamarin/xamarin-macios/issues/3367
- App Store will now fail builds if you add in a 32-bit dylib
- If you are a 32-bit app you don't need the 64-bit part of your fat
dylib anyway
- Add --optimize=-trim-architectures to allow customization of behavior, as not everyone
uses app store

In addition, while writing tests for this is was noticed that mmp tests did not "really" run Release configuration correctly in most cases. Fixing this turned out to be a bit of a pain, but necessary to correctly test this (and other things).

- Turns out that /p:configuration:debug is not sufficient to tell mmp to
do the right thing
- That, in most projects, sets the DebugSymbols property, which really
is what is checked.
- However, two of our projects did not have that, so we always did
release mmp work.
- Removed configuration property for tests and added real "Release"
configuration option
2018-03-02 14:33:27 +01:00
Rolf Bjarne Kvinge a106cd7520
[mtouch] Bundle duplicated assemblies in the container app. Fixes #58873. (#3626)
Assemblies that satisfy all of these conditions:

* Are not in the container project.
* Are in multiple app extensions.

can (and should) be bundled in the container app.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=58873
2018-03-02 09:39:42 +01:00
Chris Hamons ca4360116c
[mmp] Add stripping of 32-bit dylibs to work with new App Store restrictions (#3387)
- https://github.com/xamarin/xamarin-macios/issues/3367
- App Store will now fail builds if you add in a 32-bit dylib
- If you are a 32-bit app you don't need the 64-bit part of your fat
dylib anyway
- Add --optimize=-trim-architectures to allow customization of behavior, as not everyone
uses app store

In addition, while writing tests for this is was noticed that mmp tests did not "really" run Release configuration correctly in most cases. Fixing this turned out to be a bit of a pain, but necessary to correctly test this (and other things).

- Turns out that /p:configuration:debug is not sufficient to tell mmp to
do the right thing
- That, in most projects, sets the DebugSymbols property, which really
is what is checked.
- However, two of our projects did not have that, so we always did
release mmp work.
- Removed configuration property for tests and added real "Release"
configuration option
2018-03-01 09:36:06 -06:00
Rolf Bjarne Kvinge de15337f61
[mtouch] Propagate the computed value for removal of the dynamic registrar to code shared app extensions. (#3622)
This fixes a startup crash in code shared app extensions due to having the
wrong value set in the runtime (the dynamic registrar was removed, but the
executable didn't know it).
2018-03-01 14:59:54 +01:00
Manuel de la Pena cfc3cbf6ef
[BusinessChat] Introduction of the new framework on iOS and Mac. (#3569) 2018-02-27 12:53:13 +01:00
Rolf Bjarne Kvinge 72bc672d6b
[mtouch] Find the link context for code shared app extensions in the static registrar. Fixes #3514. (#3545) (#3557)
When code sharing is enabled, only the container app/target will have a
LinkContext.

So make sure the static registrar finds that link context when it needs
information from the linker.

https://github.com/xamarin/xamarin-macios/issues/3514
2018-02-21 15:10:20 +01:00
Rolf Bjarne Kvinge c0c0e63a3b
[mtouch] Find the link context for code shared app extensions in the static registrar. Fixes #3514. (#3545)
When code sharing is enabled, only the container app/target will have a
LinkContext.

So make sure the static registrar finds that link context when it needs
information from the linker.

https://github.com/xamarin/xamarin-macios/issues/3514
2018-02-21 09:27:26 +01:00
Rolf Bjarne Kvinge 2a29d0e0aa
[mtouch/mmp] Fix tracking of whether the static registrar should run again or not. Fixes #641. (#3534) (#3536)
* [tests] Improve debug spew for the RebuildTest_WithExtensions test.

* [mtouch/mmp] Store/load if the dynamic registrar is removed or not into the cached link results.

Store/load if the dynamic registrar is removed or not into the cached link
results, so that we generate the correct main.m even if cached linker results
are used.

* [mtouch/mmp] The static registrar must not execute if we're loading cached results from the linker.

The static registrar must not execute if we're loading cached results from the
linker, because the static registrar needs information from the linker that's
not restored from the cache.

* [mtouch/mmp] Share Touch code.

* [mtouch/mmp] Make it possible to touch inexistent files (to create them).

* [mtouch/mmp] Fix tracking of whether the static registrar should run again or not.

The recent changes to support optimizing away the dynamic registrar caused the
Xamarin.MTouch.RebuildTest_WithExtensions test to regress.

The problem
-----------

* The linker now collects and stores information the static registrar needs.
* This information is not restored from disk when the linker realizes that it
  can reload previously linked assemblies instead of executing again.
* The static registrar runs again (for another reason).
* The information the static registrar needs isn't available, and incorrect
  output follows.

So fix 1: show an error if the static registrar runs when the linker loaded
cached results.

The exact scenario the test ran into is this:

* 1st build: everything is new and everything is built.
* 2nd build: contents of .exe changes, the linker runs again, the static
  registrar runs again, but sees that the generated output didn't change, so
  it doesn't write the new content to disk (this is an optimization to avoid
  compiling the registrar.m file again unless needed).
* 3rd build: only the .exe timestamp changes, the linker sees nothing changes
  in the contents of the .exe and loads the previously linked assemblies from
  disk, the static registrar sees that the .exe's timestamp is newer than
  registrar.m's timestamp and run again, but doesn't produce the right result
  because it doesn't have the information it needs.

Considered solutions
--------------------

1. Only track timestamps, not file contents. This is not ideal, since it will
   result in more work done: in particular for the case above, it would add a
   registrar.m compilation in build #2, and linker rerun + static registrar
   rerun + registrar.m compilation + final native link in build #3.
2. Always write the output of the static registrar, even if it hasn't changed.
   This is not ideal either, since it will also result in more work done: for
   the case above, it would add a registrar.m compilation + final native link
   in build #3.
3. Always write the output of the static registrar, but track if it changed or
   not, and if it didn't, just touch registrar.o instead of recompiling it.
   This only means the final native link in build #3 is added (see #5 for why
   this is worse than it sounds).
4. Always write the output of the static registrar, but track it it changed or
   not, and if it didn't, just touch registrar.o instead of recompiling it,
   and track that too, so that the final native link in build #3 isn't needed
   anymore. Unfortunately this may result in incorrect behavior, because now
   the msbuild tasks will detect that the executable has changed, and may run
   dsymutil + strip again. The executable didn't actually change, which means
   it would be the previously stripped executable, and thus we'd end up with
   an empty .dSYM because we ran dsymtil on an already stripped executable.
5. Idea #4, but write the output of the final link into a temporary directory
   instead of the .app, so that we could track whether we should update the
   executable in the .app or not. This is not optimal either, because
   executables can be *big* (I've seen multi-GB tvOS bitcode executables), and
   extra copies of such files should not be taken lightly.
6. Idea #4, but tell the MSBuild tasks that dsymutil/strip doesn't need to be
   rerun even if the timestamp of the executable changed. This might actually
   work, but now the solution's become quite complex.

Implemented solution
--------------------

Use stamp files to detect whether a file is up-to-date or not.

In particular:

* When we don't write to a file because the new contents are identical to the
  old contents, we now touch a .stamp file. This stamp file means "the
  accompanying file was determined to be up-to-date when the stamp was
  touched."
* When checking whether a file is up-to-date, also check for the presence of a
  .stamp file, and if it exists, use the highest timestamp between the stamp
  file and the actual file.

Now the test scenario becomes:

* 1st build: everything is new and everything is built.
* 2nd build: contents of .exe changes, the linker runs again, the static
  registrar runs again, but sees that the generated output didn't change, so
  it doesn't write the new content to disk, but it creates a registrar.m.stamp
  file to indicate the point in time when registrar.m was considered up-to-
  date.
* 3rd build: only the .exe timestamp changes, the linker sees nothing changes
  in the contents of the .exe and loads the previously linked assemblies from
  disk, the static registrar sees that the .exe's timestamp is *older* than
  registrar.m.stamp's timestamp and doesn't run again.

We only use the stamp file for source code (registrar.[m|h], main.[m|h],
pinvokes.[m|h]), since using it every time has too much potential for running
into other problems (for instance we should never create .stamp files inside
the .app).

Fixes these test failures:

    1) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("single","",False,System.String[])
      single
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory371/testApp.app/testApp is modified, timestamp: 2/15/2018 3:04:11 PM > 2/15/2018 3:04:09 PM" >

    2) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("dual","armv7,arm64",False,System.String[])
      dual
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory375/testApp.app/testApp is modified, timestamp: 2/15/2018 3:06:03 PM > 2/15/2018 3:06:00 PM" >

    3) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("llvm","armv7+llvm",False,System.String[])
      llvm
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory379/testApp.app/testApp is modified, timestamp: 2/15/2018 3:07:14 PM > 2/15/2018 3:07:12 PM" >

    4) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("debug","",True,System.String[])
      debug
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory383/testApp.app/testApp is modified, timestamp: 2/15/2018 3:08:16 PM > 2/15/2018 3:08:13 PM" >

    5) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("single-framework","",False,System.String[])
      single-framework
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory387/testApp.app/testApp is modified, timestamp: 2/15/2018 3:09:18 PM > 2/15/2018 3:09:16 PM" >

Fixes https://github.com/xamarin/maccore/issues/641
2018-02-20 11:43:23 +01:00
Rolf Bjarne Kvinge 5788a9fa9b
[mtouch] Rename temporary directories so the order assemblies move is clearer. (#3531)
* [mtouch] Rename temporary directories so the order assemblies move is clearer.

I implemented this myself, but I can never remember in which order assemblies
go from one directory to another during the build.

So number these temporary directories, so that even the most forgetful minds
can understand without having to remember anything.

* [tests] Update test according to temporary directory name change.
2018-02-19 21:50:20 +01:00
Rolf Bjarne Kvinge 3113c5d2b5
[mtouch/mmp] Fix tracking of whether the static registrar should run again or not. Fixes #641. (#3534)
* [tests] Improve debug spew for the RebuildTest_WithExtensions test.

* [mtouch/mmp] Store/load if the dynamic registrar is removed or not into the cached link results.

Store/load if the dynamic registrar is removed or not into the cached link
results, so that we generate the correct main.m even if cached linker results
are used.

* [mtouch/mmp] The static registrar must not execute if we're loading cached results from the linker.

The static registrar must not execute if we're loading cached results from the
linker, because the static registrar needs information from the linker that's
not restored from the cache.

* [mtouch/mmp] Share Touch code.

* [mtouch/mmp] Make it possible to touch inexistent files (to create them).

* [mtouch/mmp] Fix tracking of whether the static registrar should run again or not.

The recent changes to support optimizing away the dynamic registrar caused the
Xamarin.MTouch.RebuildTest_WithExtensions test to regress.

The problem
-----------

* The linker now collects and stores information the static registrar needs.
* This information is not restored from disk when the linker realizes that it
  can reload previously linked assemblies instead of executing again.
* The static registrar runs again (for another reason).
* The information the static registrar needs isn't available, and incorrect
  output follows.

So fix 1: show an error if the static registrar runs when the linker loaded
cached results.

The exact scenario the test ran into is this:

* 1st build: everything is new and everything is built.
* 2nd build: contents of .exe changes, the linker runs again, the static
  registrar runs again, but sees that the generated output didn't change, so
  it doesn't write the new content to disk (this is an optimization to avoid
  compiling the registrar.m file again unless needed).
* 3rd build: only the .exe timestamp changes, the linker sees nothing changes
  in the contents of the .exe and loads the previously linked assemblies from
  disk, the static registrar sees that the .exe's timestamp is newer than
  registrar.m's timestamp and run again, but doesn't produce the right result
  because it doesn't have the information it needs.

Considered solutions
--------------------

1. Only track timestamps, not file contents. This is not ideal, since it will
   result in more work done: in particular for the case above, it would add a
   registrar.m compilation in build #2, and linker rerun + static registrar
   rerun + registrar.m compilation + final native link in build #3.
2. Always write the output of the static registrar, even if it hasn't changed.
   This is not ideal either, since it will also result in more work done: for
   the case above, it would add a registrar.m compilation + final native link
   in build #3.
3. Always write the output of the static registrar, but track if it changed or
   not, and if it didn't, just touch registrar.o instead of recompiling it.
   This only means the final native link in build #3 is added (see #5 for why
   this is worse than it sounds).
4. Always write the output of the static registrar, but track it it changed or
   not, and if it didn't, just touch registrar.o instead of recompiling it,
   and track that too, so that the final native link in build #3 isn't needed
   anymore. Unfortunately this may result in incorrect behavior, because now
   the msbuild tasks will detect that the executable has changed, and may run
   dsymutil + strip again. The executable didn't actually change, which means
   it would be the previously stripped executable, and thus we'd end up with
   an empty .dSYM because we ran dsymtil on an already stripped executable.
5. Idea #4, but write the output of the final link into a temporary directory
   instead of the .app, so that we could track whether we should update the
   executable in the .app or not. This is not optimal either, because
   executables can be *big* (I've seen multi-GB tvOS bitcode executables), and
   extra copies of such files should not be taken lightly.
6. Idea #4, but tell the MSBuild tasks that dsymutil/strip doesn't need to be
   rerun even if the timestamp of the executable changed. This might actually
   work, but now the solution's become quite complex.

Implemented solution
--------------------

Use stamp files to detect whether a file is up-to-date or not.

In particular:

* When we don't write to a file because the new contents are identical to the
  old contents, we now touch a .stamp file. This stamp file means "the
  accompanying file was determined to be up-to-date when the stamp was
  touched."
* When checking whether a file is up-to-date, also check for the presence of a
  .stamp file, and if it exists, use the highest timestamp between the stamp
  file and the actual file.

Now the test scenario becomes:

* 1st build: everything is new and everything is built.
* 2nd build: contents of .exe changes, the linker runs again, the static
  registrar runs again, but sees that the generated output didn't change, so
  it doesn't write the new content to disk, but it creates a registrar.m.stamp
  file to indicate the point in time when registrar.m was considered up-to-
  date.
* 3rd build: only the .exe timestamp changes, the linker sees nothing changes
  in the contents of the .exe and loads the previously linked assemblies from
  disk, the static registrar sees that the .exe's timestamp is *older* than
  registrar.m.stamp's timestamp and doesn't run again.

We only use the stamp file for source code (registrar.[m|h], main.[m|h],
pinvokes.[m|h]), since using it every time has too much potential for running
into other problems (for instance we should never create .stamp files inside
the .app).

Fixes these test failures:

    1) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("single","",False,System.String[])
      single
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory371/testApp.app/testApp is modified, timestamp: 2/15/2018 3:04:11 PM > 2/15/2018 3:04:09 PM" >

    2) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("dual","armv7,arm64",False,System.String[])
      dual
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory375/testApp.app/testApp is modified, timestamp: 2/15/2018 3:06:03 PM > 2/15/2018 3:06:00 PM" >

    3) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("llvm","armv7+llvm",False,System.String[])
      llvm
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory379/testApp.app/testApp is modified, timestamp: 2/15/2018 3:07:14 PM > 2/15/2018 3:07:12 PM" >

    4) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("debug","",True,System.String[])
      debug
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory383/testApp.app/testApp is modified, timestamp: 2/15/2018 3:08:16 PM > 2/15/2018 3:08:13 PM" >

    5) Failed : Xamarin.MTouch.RebuildTest_WithExtensions("single-framework","",False,System.String[])
      single-framework
      Expected: <empty>
      But was:  < "/Users/builder/data/lanes/5746/4123bf7e/source/xamarin-macios/tests/mtouch/bin/Debug/tmp-test-dir/Xamarin.Tests.BundlerTool.CreateTemporaryDirectory387/testApp.app/testApp is modified, timestamp: 2/15/2018 3:09:18 PM > 2/15/2018 3:09:16 PM" >

Fixes https://github.com/xamarin/maccore/issues/641
2018-02-19 20:28:04 +01:00
Zoltan Varga 7c88610112 Remove the tvos cross compiler, use the normal ios cross compiler instead, they are the same. (#3492) 2018-02-16 10:45:22 +01:00
Rolf Bjarne Kvinge 92f8fab14b [mtouch/mmp] Add support for inlining calls to Runtime.DynamicRegistrarSupported and removal of the dynamic registrar. 2018-02-15 10:18:27 +01:00
Rolf Bjarne Kvinge 5b040406dd [mmp/mtouch] Update project files after mono bump where files where moved. 2018-02-15 08:32:32 +01:00
Rolf Bjarne Kvinge 9be59296ae
[linker] Rename the MonoTouchTypeMapStep class to CoreTypeMapStep since it's shared between XI and XM. (#3482) 2018-02-15 00:44:11 +01:00