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

488 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 4d7186028e
[mtouch/mmp] Improve target framework code. (#8137)
* Unify target framework code between mtouch and mmp.
* Simplify the code in mmp: have three possible valid target frameworks for
  most of code, and add special code to handle setting any other valid target
  frameworks to redirect to one of those three valid target frameworks (and
  warn if given any of those valid, but not "main", target frameworks). Any
  other code can then depend on the target framework having exactly one of
  those specific values, which means we can make IsUnified* variables
  convenience properties instead.
* Unify a bit more of the argument parsing code between mtouch and mmp, since
  that made a few other things easier.
* Add TargetFramework.IsValidFramework to have one validation implementation.
* Move the implementation of TargetFramework.MonoFrameworkDirectory to mmp
  itself, it's not really related to the target framework.
* Remove Driver.IsUnified and IsClassic from mmp, they're not used anymore.
* Formally deprecate --xamarin-[full|system]-framework in mmp, they've really been deprecated for many years.
* Remove LinkerOptions.TargetFramework, it's not used anymore.
* Get rid of mmp's userTargetFramework fried, it's duplicated with the
  targetFramework field.
* Add a few tests, and tweak others a bit.

Breaking changes:

* Both mtouch and mmp require --target-framework now. The only direct
  consumers should be the MSBuild tasks, which already pass --target-framework
  all the time. This simplifies code, and removes assumptions.
2020-03-19 09:28:09 +01:00
Rolf Bjarne Kvinge 974ce49f9b
[mmp] Define DEV in the project file's Debug configuration for mmp to work correctly when built from within the IDE. (#8142) 2020-03-19 09:27:14 +01:00
Rolf Bjarne Kvinge bacd958be0 [mtouch/mmp] Rework how we find developer tools. Partial fix for #4634 and fixes #8005. (#8121) (#8128)
Partial fix for https://github.com/xamarin/xamarin-macios/issues/4634.
Fixes https://github.com/xamarin/xamarin-macios/issues/8005.
2020-03-18 13:07:08 -04:00
Rolf Bjarne Kvinge 2985e0d455
[mmp] Fix install_name_tool invocation. (#8132)
This regressed in 13a56ffb95.
2020-03-18 12:15:20 +01:00
Rolf Bjarne Kvinge 13a56ffb95
[mtouch/mmp] Rework how we find developer tools. Partial fix for #4634 and fixes #8005. (#8121)
Partial fix for https://github.com/xamarin/xamarin-macios/issues/4634.
Fixes https://github.com/xamarin/xamarin-macios/issues/8005.
2020-03-17 15:49:39 +01:00
Alex Soto f5b3a6f1c4
Merge remote-tracking branch 'xamarin/xcode11.4' into d16-5-xcode11.4 2020-03-08 13:16:04 -04:00
Sebastien Pouliot 2be35fb1c8
[mtouch][mmp] Share error.cs and make it safer against FormatException (#8047)
* [mtouch][mmp] Share error.cs and make it safer against FormatException

Beside the obvious code sharing [1] this makes the error reporting code
safer against `FormatException`.

Even with code review this happened a few times in the past - we get
a string that can't format correctly in some error handling code. This
means the `FormatException` must be fixed before we can see the
underlying root issue (delaying bug fixes and support).

Recent changes made for localization makes it harder to review the
original strings (and even harder for translated strings) for
correctness. This means we can end up with something like

```
String.Format ("{0} {1}", "foo");
``

and easily miss it (since they split between different files) if there
are several changes inside a PR.

Finally sprinkle some unit tests :)

[1] we should move everything to use `ProductException` but that will be
for another PR...
2020-03-06 09:34:16 -05:00
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
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
Rolf Bjarne Kvinge 2b733ae79c
[mmp] Set 'disable_omit_fp' by default to provide better native stack traces in certain cases. (#7981)
* [mmp] Set 'disable_omit_fp' by default to provide better native stack traces in certain cases.

This may produce better stack traces when crashes occur, which could be
helpful for tracking down issues like
https://github.com/xamarin/maccore/issues/643.

Also add an mmp option to override the default behavior.

This is unlikely to cause any problems, because Visual Studio for Mac sets
MONO_DEBUG=disable_omit_fp at launch, which means that all processes launched
by VSMac will also have this variable set already.

* Fix lldb attach disabling.
2020-02-26 15:49:55 +01: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
Rolf Bjarne Kvinge beaa94c0f5
[mmp] Remove dead code. (#7968) 2020-02-25 06:57:31 +01:00
Rolf Bjarne Kvinge e9ac84097a
[mmp] Use relative path in mmp script. (#7909)
* [mmp] Use relative path in mmp script.

Makes relocating mmp easier.

* [mmp] Resolve the right directory.

mmp might be in two locations (the second one works because the Commands
directory is a symlink to the actual bin directory):

* /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin/mmp
* /Library/Frameworks/Xamarin.Mac.framework/Commands/mmp

The mmp script didn't work properly in the latter case, because it would
calculate where to find the mmp.exe assembly based on real location the parent
directory (which would be /Library/Frameworks/Xamarin.Mac.framework), instead
of the real location of the directory where mmp is
(/Library/Frameworks/Xamarin.Mac.framework/Commands, which would resolve to
/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin).

The fix is to just get the real path of the Commands directory, and compute
the location of the mmp.exe from there.
2020-02-25 06:57:15 +01:00
Rolf Bjarne Kvinge feb5e96c2a
Rename bmac-mobile-mono to mono-sgen. (#7966)
bmac-mobile-mono is an old name (when we needed a specific executable to
execute bmac) that has nothing to do with its current usage (AOT code for
Xamarin.Mac apps).

So rename the executable to reflect current usage.

This makes looking at the installed files a bit less confusing.
2020-02-25 06:51:12 +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
Rolf Bjarne Kvinge 1d0dd15bd4 [sample-tester] Collect app size and build duration statistics. (#7602)
* [sample-tester] Collect app size and build duration statistics.

* Always publish performance data.

* [mmp] Add support for MMP_ENV_OPTIONS to mirror mtouch's MTOUCH_ENV_OPTIONS.

* [sample-tester] Make mmp/mtouch show timing information, and get the diagnostic msbuild log.

* Collect task and target info.

* Add more perf data and a baseline test.

* Redo the base test a bit.

* More tweaks.

* More tweaks.

* Huh?

* Debug stuff.

* diagnostics.

* Better diagnostics.

* cleanup

* tmp

* Use a separate stage to push data.

* Next attempt.

* Unique artifact names.

* Make the right name unique.

* More progress

* Improvements

* Don't need new maccore.

* cleanup

* Remove debug spew.

* Realign stuff.

* duh

* More path fixes.

* zippity zip.

* Show publishing errors.

* dependencies

* Not fake results anymore.

* Tweaks

* Merge xml files

* [sampletester] Bump nuget timeout to 5 minutes.

The TodoREST.iOS test seems to use a lot of packages, and it can apparently
take a while to restore them, so give a few more minutes.

* Improvements.

* Fix glob.

* [sampletester] Fix fetching of sample repository and hash.

* [sampletester] Centralize verbosity for mtouch and mmp.
2020-02-03 15:57:25 -05:00
Waleed Chaudhry 00985a55e2
[Localization] mtouch/mmp C# (#7710) 2020-01-31 15:02:52 -05:00
Manuel de la Pena 65191eda86
[MMP] Allow to compile assemblies that do have a comma. (#7675)
Users sometimes add commas to their asseblies. Make sure we can handle
that case.

Fixes: https://github.com/xamarin/xamarin-macios/issues/6726
2020-01-02 21:56:39 -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
Rolf Bjarne Kvinge 0ec82e7cca
[sample-tester] Collect app size and build duration statistics. (#7602)
* [sample-tester] Collect app size and build duration statistics.

* Always publish performance data.

* [mmp] Add support for MMP_ENV_OPTIONS to mirror mtouch's MTOUCH_ENV_OPTIONS.

* [sample-tester] Make mmp/mtouch show timing information, and get the diagnostic msbuild log.

* Collect task and target info.

* Add more perf data and a baseline test.

* Redo the base test a bit.

* More tweaks.

* More tweaks.

* Huh?

* Debug stuff.

* diagnostics.

* Better diagnostics.

* cleanup

* tmp

* Use a separate stage to push data.

* Next attempt.

* Unique artifact names.

* Make the right name unique.

* More progress

* Improvements

* Don't need new maccore.

* cleanup

* Remove debug spew.

* Realign stuff.

* duh

* More path fixes.

* zippity zip.

* Show publishing errors.

* dependencies

* Not fake results anymore.

* Tweaks

* Merge xml files

* [sampletester] Bump nuget timeout to 5 minutes.

The TodoREST.iOS test seems to use a lot of packages, and it can apparently
take a while to restore them, so give a few more minutes.

* Improvements.

* Fix glob.

* [sampletester] Fix fetching of sample repository and hash.

* [sampletester] Centralize verbosity for mtouch and mmp.
2019-12-20 16:27:36 +01: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
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
William Kent 8425129eeb Add bindings for NSXpcConnection and related types (#7001)
* Add bindings for NSXpcConnection and related types

* Re-add accidentally deleted file

* Typo fix

* Add NSXpcInterface.CreateForType()

* Add MethodInfo-taking overloads to NSXpcInterface

* Add null check

* Mark methods with wrappers as internal

Also fixed a formatting bug that I didn't catch earlier.

* Change NSXPCProxyCreating methods to be strongly typed

I got rid of the NSXpcProxyCreating interface in this change,
because its only user was NSXpcConnection, and I needed to
inline the protocol methods into the class definition so I
could mark them as [Internal].

* Add missing casts

* Add NSXpcConnectionOptions enum

* Convert NSXpcConnection constructor to use new enum

* Remove now-unneeded manual constructor

* Fix bgen warning

* Typo fix

* Fix selector

* Remove incorrect use of BindAsAttribute

Per the docs, this only works for enums backed
by NSNumber and NSValue, not for enums
passed directly as integers.

* Fix duplicated selector errors

* Throw ArgumentException instead of InvalidOperationException

* Extend AppExtension targets to produce XPC services

Rather than create an entirely new set of targets
(that would require VS and VSMac updates to properly
consume), I have decided to use the existing AppExtension
build targets to produce XPC services as well. All the
user must do is set the $(IsXPCService) property to true in
their project file, and the targets will do The Right Thing™.

Note that this support is Mac-only for now; I may need a bit
of help adjusting them to work on for iOS/watchOS/tvOS, as I
am not as familiar with those platforms.

* Copy XPC service bundles into the correct location

* Move IsXPCService property definition to props file

* Don't pass /extension to mmp for XPC service targets

This would cause the XPC service binary to
be linked incorrectly.

* Add NSXpcConnection/NSXpcInterface.cs files to the build

* Fix build

* Fix build

* Add required type parameter requirements

* Fix type parameter requirements

* Fix return type

* Fix return type of NSXpcInterface.CreateForProtocol ()

* Take ownership of the returned object types

* Adjust XPC service mmp invocation

I need to link the XPC service bundle as if it is an app extension, but
I must not use xamarin_mac_extension_main. I added a new flag to make
this possible.

* Change mmp to correctly construct XPC service bundle

* Set the MonoBundleExecutable Info.plist key for XPC services

* Use the runtime to get the protocol

* Make NSXpcInterface.CreateForProtocol() public

The static registrar must be used for Cocoa to accept the protocol
as a valid XPC interface, but that then seems to break resolving
the protocol from the type. I must therefore hard-code the protocol
name in my code, and that requires I make this constructor public.

* Add XpcInterfaceAttribute

See the doc comment in XpcInterfaceAttribute.cs for why
this type is required. The referenced mmp optimizations
will be added in future commits.

* Add XpcInterfaceAttribute to generator build

* Add support for XpcInterfaceAttribute to the generator

* Force static generation of protocols decorated with XpcInterfaceAttribute

* Change how static registrar translates block parameters

Previously, they would always be marshalled as "id".
This would throw off the XPC subsystem, which parses
the block signature to determine the communication
protocol.

* Undo whitespace noise

* Remove unneeded casts

* Add trailing comma

* Use HasAttribute instead of GetCustomAttribute

* Fix style issues

* Bind NSXpcConnection.auditSessionIdentifier

* Address naming feedback

* Make Get/SetAllowedClasses public

IMHO, passing the selector as a string is just as
usable as passing a MethodInfo, and is also less
verbose if you copy/paste the selector string
from the ExportAttribute. There is no reason why
we cannot have both overloads be public.

* Update overload names to match

* Update more overload names to match

* Make mmp --xpc imply --extension

* Reformat if statement

* Fix build

* Conditionalize creation of PlugIns and XPCServices directories

* Add AutoGeneratedName

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Get rid of ProtocolizeAttribute

* Update availability attributes to please xharness

I actually think xharness is wrong here, since the
NSXPCConnection header lists these types as being
available starting in macOS 10.8.

* Update sharpie ignore files to reflect changes

This should fix the xtro-sharpie test failures CI has been reporting.

* Fix MM4105 error generation

* Adjust error message in test to match mmp

I had to change the error text slightly, because the type of the parameter
cannot be determined where the error is thrown anymore. However, the newer
exception message IMO is just as clear.

* Make exception message match test exactly

* Remove outdated copyright header text

* Remove more outdated copyright header text

* Revert changes to MM4105 error generation

I have a more elegant way of fixing this test now.

* Return "id" if Invoke method cannot be found

This fixes the MM4105 error unit test,
without requiring modification to that test.

* Remove redundant availability attributes

* Add DesignatedInitializerAttribute

* Re-add required code to macOS-Foundation.ignore

* Put DesignatedInitializer on the right constructor

* Update xtro-sharpie ignore files
2019-10-22 15:38:01 +02:00
Rolf Bjarne Kvinge ab60a11f14
[mmp] Add deployment target to the -fobjc-runtime clang argument. Fixes #7204. (#7227) (#7231)
This is required when also passing the -fobjc-arc argument.

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

This is a backport of #7227.
2019-10-17 17:44:37 +02:00
Rolf Bjarne Kvinge dee19397f7
[mmp] Add deployment target to the -fobjc-runtime clang argument. Fixes #7204. (#7227)
This is required when also passing the -fobjc-arc argument.

Fixes https://github.com/xamarin/xamarin-macios/issues/7204.
2019-10-14 22:25:58 +02: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
Vincent Dondain a3076f29a3 Merge branch 'xcode11.1' into d16-4 2019-10-07 21:46:13 -04:00
Rolf Bjarne Kvinge 382083c992
[mmp] Don't ignore failures to execute pkg-config. (#7066)
Also bump system mono to a version whose pkg-config executable actually works
on Catalina.
2019-09-23 16:59:14 +02:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Rolf Bjarne Kvinge f6e0531197 Merge xcode11 into d16-3. 2019-09-12 08:29:02 +02:00
Jo Shields 926372c940 Bump to mono:2019-08 (#6723)
Included changes are:

* New Cecil API in 2019-08
* Permit new symbols from networkable AOT profiler in symbols test
* Bump Mono to include fix for zlib linking, and new Cecil API
* We need to link against zlib now, if using libmono.a
* [Tests] Ignore memory hungry tests in old devices. (#6913)
* Ignore certain tests that use too many resources in old devices.
* Add missing tests that use too much memory on 32b devices.
2019-09-09 09:44:03 -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 010ae1d2c9
[runtime] Fix usage of objc_msgSend[Super] according to modified headers. (#6865)
It's now required to cast objc_msgSend[Super] to a function of the correct
signature, so let's do that.

Also remove the define that allowed us to use the previous behavior.
2019-08-28 08:05:38 -07:00
Rolf Bjarne Kvinge 6075a9aa5b
[mmp] Remove support for 32-bit apps. Partial fix for #6300. (#6642)
Partial fix for https://github.com/xamarin/xamarin-macios/issues/6300.
2019-07-24 09:01:14 -07: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 a495077533
[xcode11] Stop building/shipping 32-bit Xamarin.Mac bits. Partial fix for #6300. (#6393)
This includes:

* 32-bit version of Xamarin.Mac.dll and OpenTK.dll
* XamMac.dll and XamMac.CFNetwork.dll
* 32-bit versions of the runtime libraries (libxammac.a and friends).
* 32-bit version of the partial static library for Xamarin.Mac.
* Classic support in the generator.

We still ship a few Classic files so that Visual Studio for Mac continue to detect that Xamarin.Mac is installed (otherwise VSfM won't open Classic projects, which makes it impossible to use the migration wizard).

This makes our build slightly faster.

Partial fix for #6300.
2019-07-15 10:19:24 -07:00
Rolf Bjarne Kvinge 523349bf69 Merge remote-tracking branch 'origin/d16-2' into xcode11-bump-mono-d16-2 2019-06-20 10:27:04 +02:00
Rolf Bjarne Kvinge 14cac96c90
[d16-2] Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279) (#6361)
* Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279)

* Bump VSMac to 8.1.0.2742 to fix msbuild issues

This is required to get the support for the msbuild `ToolsVersion`
change from `15.0` to `Current`.

* [tests][msbuild] Fix Binding resources test with updated msbuild

Test failure with updated msbuild and vsmac 8.1:

```
Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").ShouldNotUnnecessarilyRebuildBindingProject(True)
     Binding project build did not create package?
  Expected: True
  But was:  False

at Xamarin.iOS.Tasks.NativeReferencesNoEmbedding.ShouldNotUnnecessarilyRebuildBindingProject (System.Boolean framework) [0x000a0] in <74b8f7d8a53e40109916d305bb4d7403>:0
at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo cul
ture) [0x0006a] in <0519fa732e8845b6a809ce9180f541db>:0
```

The test builds the project multiple times. Before the 3rd build, the project
file's timestamp is updated and expects that the binding package will be
rebuilt. But it is not, because the target `_CreateBindingResourcePackage`
doesn't depend on that project file. So, add that to the target inputs.

* [nuget] Use xibuild to run nuget

Fix errors seen during `nuget restore` for tests:

```
Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xammac_tests/xammac_tests.csproj(213,3): error MSB4024: The imported project file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets" could not be loaded. Could not find file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets"
```

* [xibuild] Fix incorrect mscorlib.dll being used (#6068)

* [xibuild] Fix incorrect mscorlib.dll being used

The `GuiUnit_NET_4_5` project, when built with `xibuild` uses the wrong `mscorlib.dll`.

From https://github.com/xamarin/xamarin-macios/issues/5760#issuecomment-472457202 :

```
- mscorlib.dll is being used from mono/4.5 and the other system assemblies are from mono/4.5-api
- GuiNet* project is built with xibuild

What is happening here is:

	xibuild sets[1] `SetToolsetProperty ("TargetFrameworkRootPath", FrameworksDirectory + Path.DirectorySeparatorChar);`
	which points to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks`.
	This causes $(FrameworkPathOverride) to be set[2] to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks/.NETFramework/v4.5`,
	but that doesn't have a mscorlib.dll, so it gets reset[3] to /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5/.

	If we don't set TargetFrameworkRoothPath, then we get `FrameworkPathOverride = /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api`,
	causing `_ExplicitReference=/Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api/mscorlib.dll`(correct one) to be used.
```

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

1. https://github.com/xamarin/xamarin-macios/blob/master/tools/xibuild/Main.cs#L209
2. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L79
3. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L84

* Revert "Workaround https://github.com/xamarin/xamarin-macios/issues/5760 in generator csproj"

This reverts commit 9bd927bb7f.

The previous commit for xibuild removes the need for this.

* [xibuild] Handle "incorrectly" cased msbuild property names  (#6202)

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`.

Fixed to ignore case.

Fixes https://github.com/mono/mono/issues/14765 .
2019-06-19 17:28:01 +02:00
Ankit Jain e271d5e18d Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279)
* Bump VSMac to 8.1.0.2742 to fix msbuild issues

This is required to get the support for the msbuild `ToolsVersion`
change from `15.0` to `Current`.

* [tests][msbuild] Fix Binding resources test with updated msbuild

Test failure with updated msbuild and vsmac 8.1:

```
Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").ShouldNotUnnecessarilyRebuildBindingProject(True)
     Binding project build did not create package?
  Expected: True
  But was:  False

at Xamarin.iOS.Tasks.NativeReferencesNoEmbedding.ShouldNotUnnecessarilyRebuildBindingProject (System.Boolean framework) [0x000a0] in <74b8f7d8a53e40109916d305bb4d7403>:0
at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo cul
ture) [0x0006a] in <0519fa732e8845b6a809ce9180f541db>:0
```

The test builds the project multiple times. Before the 3rd build, the project
file's timestamp is updated and expects that the binding package will be
rebuilt. But it is not, because the target `_CreateBindingResourcePackage`
doesn't depend on that project file. So, add that to the target inputs.

* [nuget] Use xibuild to run nuget

Fix errors seen during `nuget restore` for tests:

```
Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xammac_tests/xammac_tests.csproj(213,3): error MSB4024: The imported project file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets" could not be loaded. Could not find file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets"
```
2019-06-19 07:07:26 +02:00
Rolf Bjarne Kvinge 9902318a40 [mmp] Use Xcode 9.4 clang to compile 32-bit static registrar code. 2019-06-04 13:45:33 -07:00
Manuel de la Pena a0a23a42d6 Add the missing flags to the native templates. 2019-06-04 18:42:46 +02: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 8627c4311a Merge remote-tracking branch 'upstream/master' into binary-artifacts 2019-05-24 20:27:09 +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
Sebastien Pouliot 224593b46d [mmp] Update (not copy-on-change) the output of lipo
We can't assume that the cached `lipo` output is part of the `.app`
since the directory for the later could be different.

E.g. we build two .csproj in out `mmptest` inside the same directory
and they share the same `obj` directory (used for caching) but have
different output directories

```
./obj/Release/mmp-cache/libmono-native.dylib
./bin/Release/UnifiedExample.app/Contents/MonoBundle/libmono-native.dylib
./bin/Release/XM45Example.app/Contents/MonoBundle/libmono-native.dylib
```

Without an update building the XM45 project would not include the
**required** `libmono-native.dylib` library and would crash when
executed.
2019-05-24 11:51:17 -04:00
Sebastien Pouliot fc5b9e24d4
[mmp] Ignore, by default, frameworks that cause rejection from App Store. Fix #6039 (#6107)
So far this only applies to `QTKit`...

XM will now, by default, avoid natively link with QTKit unless it's
instructed to so explicitly using `--link-prohibited-frameworks`

ref: https://github.com/xamarin/xamarin-macios/issues/6039
2019-05-23 15:59:40 -05: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
Alexander Köplinger 247a6bf551 Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02: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 5fbf721957
[mmp] Fix compiler warning (#6064)
```
Tuning.cs(300,8): warning CS0108: 'LoadOptionalReferencesStep.ProcessReferences(AssemblyDefinition)' hides inherited member 'LoadReferencesStep.ProcessReferences(AssemblyDefinition)'. Use the new keyword if hiding was intended. [/Users/poupou/git/master/xamarin-macios/tools/mmp/mmp.csproj]
```

it's not virtual and it's not being called back annyway.
2019-05-16 16:44:08 -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
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 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
Sebastien Pouliot 922328becb
[mmp] Fix error for `mmp --version` (#5955)
Some code now need to be initialized a few lines earlier... otherwise we
end up with an error like:

```
/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin/mmp --version
error MM0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
System.InvalidOperationException: Nullable object must have a value.
  at System.Nullable`1[T].get_Value () [0x0000d] in /Users/builder/jenkins/workspace/build-package-osx-mono/2019-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Nullable.cs:48
  at Xamarin.Bundler.Driver.get_TargetFramework () [0x00001] in /Users/poupou/git/xamarin/xamarin-macios/tools/common/Driver.cs:198
  at Xamarin.Bundler.Application.get_Platform () [0x00001] in /Users/poupou/git/xamarin/xamarin-macios/tools/common/Application.cs:62
  at Xamarin.Bundler.RuntimeOptions.ParseHttpMessageHandler (Xamarin.Bundler.Application app, System.String value) [0x0002f] in /Users/poupou/git/xamarin/xamarin-macios/src/ObjCRuntime/RuntimeOptions.cs:43
  at Xamarin.Bundler.RuntimeOptions.Create (Xamarin.Bundler.Application app, System.String http_message_handler, System.String tls_provider) [0x00007] in /Users/poupou/git/xamarin/xamarin-macios/src/ObjCRuntime/RuntimeOptions.cs:34
  at Xamarin.Bundler.Driver.Main2 (System.String[] args) [0x00a78] in /Users/poupou/git/xamarin/xamarin-macios/tools/mmp/driver.cs:377
  at Xamarin.Bundler.Driver.Main (System.String[] args) [0x00015] in /Users/poupou/git/xamarin/xamarin-macios/tools/mmp/driver.cs:211
```
2019-04-27 10:11:47 -04:00
Alexander Köplinger 7f717f01ae
Merge pull request #5563 from xamarin/mono-2019-02
Bump to mono:2019-02
2019-04-25 19:24:35 +02:00
Rolf Bjarne Kvinge aa4eaf7c92
Make a copy of the static registrar and the runtime headers for Xamarin.Mac/Classic. (#5945)
* [registrar] Make a copy of the static registrar for Xamarin.Mac/Classic.

Make a copy of the static registrar for Xamarin.Mac/Classic, one which is
compatible with the binary artifacts we ship for Xamarin.Mac/Classic
(libxammac, XamMac.dll).

This way the static registrar can evolve in the future, without breaking
Xamarin.Mac/Classic.

* [runtime] Make a copy of the runtime headers too.

* Update comment.

* [mmp] Delay creating a Target instance until we know if we're a Classic or Unified app.

Otherwise the wrong static registrar might be created.
2019-04-25 18:08:10 +02:00
Alexander Köplinger e42e1e8fce Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-09 21:06:44 +02:00
Chris Hamons d98c22e39f
[mmp] Don't apply libintl hack when you explicitly ask for that file (#5855)
- A long while ago, this hack was added to mmp:

 	// Shutup the warning until we decide on bug: 36478
	if (shortendName.ToLowerInvariant () == "intl" && IsUnifiedFullXamMacFramework)

- This breaks use cases were we explicitly ask for that file, so let's
fix that for now until we can fix the root cause for real
2019-04-08 10:26:23 -05:00
Alexander Köplinger 067cbf0a28 Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	tools/mmp/driver.cs
2019-04-05 11:19:11 +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
Vincent Dondain 86d1b42ad2 Merge branch 'xcode10.2' into master-merge-xcode10.2 2019-04-03 13:57:31 -04:00
Alexander Köplinger 032145f99b mmp: Require mono-native even for Classic mode
Many BCL APIs call into it now.
2019-03-25 16:37:37 +01:00
Alexander Köplinger f67ca65e95 mmp: Add -lc++ to clang arguments
We need to link with C++ now since Mono requires it on Desktop now.
2019-03-25 16:30:52 +01:00
Alexander Köplinger 9b039e0f9d Fix linker paths 2019-03-22 11:19:35 +01: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
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 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
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 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 d612d3ec27 bugzilla -> github 2019-02-01 19:47:55 +01:00
Alexander Köplinger 8081626eda Improve copying of libmono-native 2019-02-01 19:40:50 +01:00
Alexander Köplinger e25499395d Link with GSS framework in mmp when Mono.Native is used 2019-01-31 14:32:21 +01:00
Alexander Köplinger acc513aba5 Add System.Net.Security.Native to mmp 2019-01-31 14:32:00 +01:00
Alexander Köplinger 0dae3f27ad Fix building XamMac projects 2019-01-14 14:58:37 +01:00
Alexander Köplinger 1e961da1da Add System.Net.Security.Native dllmap to mmp 2019-01-10 22:14:58 +01:00
Alexander Köplinger 32db60a51f Fix dllmap for System.Security.Cryptography.Native.Apple in mmp 2019-01-10 22:14:58 +01:00
Chris Hamons a4332c90aa
[mmp] Add support for mono 5.18 by pulling in libmono-system-native.a (#5328)
- https://github.com/xamarin/xamarin-macios/issues/5324
- Patch tweaked over multiple commits in master so applied directly instead of cherry-pick
2019-01-10 13:31:31 -06: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
Chris Hamons c00e9af445
[mmp] Add rpath during compile and not after via install_name_tool (#5251)
- https://github.com/xamarin/xamarin-macios/issues/5243
- https://github.com/xamarin/xamarin-macios/issues/5248
- There were multiple issues where we'd run out of space and install_name_tool
would randomly fail. We can easily move these two to during initial
clang and avoid those cases.
2018-12-11 10:28:55 -05:00
Rolf Bjarne Kvinge 366d94d28a
[mmp] Show the right error code in error message. (#5245) 2018-12-10 15:14:18 +01:00
Rolf Bjarne Kvinge 1cdfc65b38 Merge remote-tracking branch 'origin/master' into mono-2018-10 2018-12-07 08:25:46 +01:00
Chris Hamons 2e72e1aee0
[mmp] Add rpath to MonoBundle folder if we copy any NativeLibraries in (#5214)
- https://github.com/xamarin/xamarin-macios/issues/4435
- A common enough breakage in our handling of native references is if you have
two native libraries with dependencies (with rpath) between them that get copied into MonoBundle
- We did not add rpath to this location so we would not resolve them
- This is a behavior change, as anything that touches library resolution in mmp, but should be safe enough
- Add 2 ignore line for common swift libraries
2018-12-06 14:16:10 -05:00
Bernhard Urban 3ddadfb852 [mmp] fix compilation error 2018-12-05 14:13:30 +01:00
Marek Safar 60d08b8559 Merge branch 'master' into mono-2018-10 2018-11-29 13:41:32 +01:00
Rolf Bjarne Kvinge 4e3dec7894 Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-27 19:10:48 +01:00
Rolf Bjarne Kvinge e8d780229b
[mmp] Set DEVELOPER_DIR to our Xcode. (#5187)
This makes it possible to build mmp (the partial static registrar code) with
the wrong system Xcode (which is not supported, but that doesn't mean we can't
try to make it mostly work to ease our lives).

I tried this in the xcode9 branch (PR #2588), and it didn't stick after the
xcode9 branch was merged to master.

I tried again a year later with the xcode10 branch (PR #4691), and once again
the commit didn't stick after the xcode10 branch was merged to master.

So now I'm trying to get this directly into master instead.

Let's see if it's still there when we branch for xcode11 next year...
2018-11-27 18:09:17 +01:00
Rolf Bjarne Kvinge f8a254d628 Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -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 83de08eb78 [mmp]: Fix mono-native support. 2018-11-14 13:43:45 -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
Chris Hamons e91ba9f93a
[mmp] Fix typo (#5123)
- https://github.com/xamarin/xamarin-macios/issues/5121
2018-11-13 17:56:05 -05:00
Alex Soto 8c207428a9
[ImageCaptureCore] Add ImageCaptureCore Bindings (#5074)
* [ImageCaptureCore] Add ImageCaptureCore Bindings

Fixes xamarin/xamarin-macios#4273

* [ImageCaptureCore] remove not needed `unsafe`

Co-Authored-By: dalexsoto <alex@alexsoto.me>

* Implement feedback
2018-11-07 09:52:39 -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
Chris Hamons 366281e8b7
[mmp] Remove duplicate libmono-system-native.a logic (#5073)
- https://github.com/xamarin/xamarin-macios/pull/4980 and the mono branch merge both added it
- However both copies were not the same, one was conditional and one added an extra -u option
- This collapses them into one check
2018-11-02 09:07:50 -05:00
Rolf Bjarne Kvinge 7425218c78 Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-10-30 07:42:02 +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
Rolf Bjarne Kvinge cca50fe500 Mono 2018-08 requires macOS 10.9+, so Xamarin.Mac must as well. 2018-10-25 09:54:43 +02: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
Chris Hamons d29ede7144
[mmp] Include libmono-system-native.a when embedding mono if it exists (#4980) 2018-10-15 09:12:56 -05: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 c41673dce8
Add mmp error when combining partial static registrar and linking (#4932)
- https://github.com/xamarin/xamarin-macios/issues/4825
2018-10-05 09:43:53 -05: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
Vincent Dondain 91a52a17f5 Merge branch 'xcode10' into d15-9-merge-xcode10 2018-09-14 12:53:17 -04:00
Sebastien Pouliot ce207d263f
Order additional arguments after response file (#4607) (#4612) (#4769)
- https://github.com/xamarin/xamarin-macios/issues/4594
- There were being adding _before_ the response file which meant options that were overriding defaults were not being honored
2018-09-07 08:52:38 -04:00
Rolf Bjarne Kvinge 33c1db4b68
Store the minimum mono version for Xamarin.Mac in one place only (Make.config) and bump it to 5.14. Fixes #4120. (#4695)
* Store the minimum mono version for Xamarin.Mac in one place only (Make.config) and bump it to 5.14. Fixes #4120.

I've verified that we fail at launch of running on 5.12, while 5.14 works fine
(to launch at least), so the minimum system mono version is _at least_ 5.14.

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

* [mmp] Load mono's version file instead of using pkg-config to get mono's version.

pkg-config will only get three parts of the version, while the version file
has all four parts.

This is important, since we're now verifying the four parts of the version
file, and without loading those four from the system, we'll fail builds like
this:

    error MM0001: This version of Xamarin.Mac requires Mono 5.14.0.136 (the current Mono version is 5.14.0).

because the three part version's fourth number is assumed to be 0.

* Only verify mono runtime version when running with system/dynamic mono.

There should be no need to verify the mono runtime version when embedding mono:

* If it's a mono we're shipping, something very bad happened in our
  build/package for it to be an invalid mono.
* If it's a system mono that's being embedded, then we verify in mmp at build
  time.

In the first scenario (a mono we're shipping), the problem is that the mono
we've built does not report back the full version number (with four parts) [1],
which means we'll fail any check whose requirements are identical for the
first three parts, and non-zero for the last.

[1] The fourth part of the version number is created/calculated when packaging
mono, and we're not packaging it.
2018-08-29 14:28:56 +02:00
Rolf Bjarne Kvinge e51c2af9f8 [mmp] Set DEVELOPER_DIR to our Xcode. (#4691)
This makes it possible to build mmp (the partial static registrar code) with
the wrong system Xcode (which is not supported, but that doesn't mean we can't
try to make it mostly work to ease our lives).
2018-08-24 14:14:53 -04:00
Rolf Bjarne Kvinge bc5400e861
[mmp] Show an error if trying to build a 32-bit app with Xcode 10. Fixes #4569. (#4684) (#4690)
Fixes https://github.com/xamarin/xamarin-macios/issues/4569.
2018-08-24 16:23:56 +02:00
Rolf Bjarne Kvinge 5da88bfbc7
[mmp] Show an error if trying to build a 32-bit app with Xcode 10. Fixes #4569. (#4684)
Fixes https://github.com/xamarin/xamarin-macios/issues/4569.
2018-08-24 12:28:10 +02:00
Rolf Bjarne Kvinge 104f08185b [mmp] Build using csproj instead of manual csc command. Partial fix for #4384.
* Make sure mmp.csproj builds using the same compiler arguments as the makefile used.
* Clean up mmp.csproj by removing stuff that was left over from when it was a Xamarin.Mac project.
* Build mmp.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 17:33:57 +02:00
Rolf Bjarne Kvinge 0d6c74e3d0 [mmp] Build using csproj instead of manual csc command. Partial fix for #4384.
* Make sure mmp.csproj builds using the same compiler arguments as the makefile used.
* Clean up mmp.csproj by removing stuff that was left over from when it was a Xamarin.Mac project.
* Build mmp.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
Chris Hamons 1db19858ef Order additional arguments after response file (#4607) (#4612)
- https://github.com/xamarin/xamarin-macios/issues/4594
- There were being adding _before_ the response file which meant options that were overriding defaults were not being honored
2018-08-14 08:57:29 -04:00
Vincent Dondain eec95e881c Merge branch 'd15-8' into xcode10-rebase-15.8 2018-08-13 21:04:56 -04:00
Chris Hamons ecfc5ce917
Order additional arguments after response file (#4607)
- https://github.com/xamarin/xamarin-macios/issues/4594
- There were being adding _before_ the response file which meant options that were overriding defaults were not being honored
2018-08-13 13:09:31 -05:00
Manuel de la Pena 7c7f46da28
[iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
Miguel de Icaza 8960cc0022
Merge pull request #4251 from migueldeicaza/xcode10-network
[Network, Security] Bindings for Network, Security, DispatchIO and some classes needed to port samples
2018-08-08 09:55:06 -04:00
Rolf Bjarne Kvinge 9d65e42f58 Fix testing 32-bit XM apps. Fixes maccore issue 884. (#4555)
* [jenkins] Only XM apps with variations are Classic/32-bit apps, so adjust ignore logic accordingly. Fixes maccore issue 884.

Fixes https://github.com/xamarin/maccore/issues/884.

* [mmp] Fix passing -stdlib=libc++ to clang.

* [tests] Fix 32-bit XM issues.

* [xharness] Add support for building 32-bit XM apps by using Xcode 9.4.

* [xharness] Since xharness can now build 32-bit mac apps, enable them by default.

* Remove debug code.

* Remove unused variable.
2018-08-03 17:06:23 -04:00
Rolf Bjarne Kvinge 923b93309c
[mmp] Bump project file to v4.6 to fix compiler error when building in VSfM. (#4515)
Fixes:

    xamarin-macios/external/mono/external/linker/linker/Linker.Steps/MarkStep.cs(310,60,310,73): error CS0117: 'Array' does not contain a definition for 'Empty'
2018-07-27 16:29:27 +02:00
Rolf Bjarne Kvinge a339290fac Revert "More 10.7 -> 10.9 bumps"
This reverts commit 24a4360600.
2018-07-25 11:56:18 +02:00
Miguel de Icaza d5248e6bb4 Merge remote-tracking branch 'remotes/origin/xcode10' into xcode10-network 2018-07-24 11:11:24 -04:00
Alex Soto 24a4360600 More 10.7 -> 10.9 bumps 2018-07-18 15:10:41 -05:00
Miguel de Icaza ee4faee1c9 [Network] Declare the Network library in the relevant places 2018-07-05 15:01:47 -04:00
Chris Hamons 48767e21eb
[mac] AppKit Xcode 10 beta 1 (#4326) 2018-07-02 06:45:34 -05: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
Rolf Bjarne Kvinge 5679599825
[mmp] Exec the binary in the script. (#4282)
This way the mmp process is killed if the parent process kills the process
it spawned.

It also uses one less process.
2018-06-19 07:20:02 +02:00
Sebastien Pouliot f9a0253e71
[videosubscriberaccount] Update for beta 1 (#4275)
This ended up enabling the framework for macOS.
2018-06-15 16:43:23 -04:00
Manuel de la Pena f77f44940e
[NaturalLanguage] Added the new framework for Xcode10. (#4236) 2018-06-14 19:21:44 +02:00
Sebastien Pouliot 7372f627ad
[adsupport] Update for beta 1 (#4213) 2018-06-12 05:19:16 -07: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
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
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
Sebastien Pouliot 5392cb8b9a Remove more usage of mcs across the build and tests (#3815)
* Remove more usage of mcs across the build and tests

* Fix -o[ut] mcs/csc argument difference

* Fix OpenTK.[dll.mdb|pdb]

* Complete some MCS|CSC renames

* Fix SYSTEM_CSC not to have a default option since it's not usable that way in every case (and most of them already deal with that option)

* Do not rename a variable used by mono itself

* Un-renamed two other variables

* Fix copying pdb

* Generate debug symbols for *.BindingAttributes.dll and copy .mdb for the old XamMac binary version

* Newer csc-compiled XamMac.BindingAttributes.dll have .pdb while the old, mcs-compiled binary cached, version has a .mdb

* Fix msc -> mcs typo.
2018-04-18 11:17:00 +02:00
Vincent Dondain 2a84c116db Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
Vincent Dondain d34f1fbbd7 Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
Chris Hamons ab7ba02fe7
Move MM2100 to a 2109 as mtouch collided with it (#3773) 2018-03-20 09:28:06 -05:00
Sebastien Pouliot 29676a3662 Merge 15.6 into xcode9.3 2018-03-05 17:16:28 -05:00
Chris Hamons 89b10f3bb7
[MMP] Allow resolving assemblies to the ones passed in command line args (#3575) (#3651)
* [MMP] Revert recursive search dirs changes
* [MMP] Allow resolving assemblies to the ones passed in command line args

This is what actually makes the MonoMacResolver actually resolve to
assemblies given as arguments.

This mirrors the behaviour of Pack, which is called on the other
code-path (that's not --runregistrar)

3113c5d2b5/tools/mmp/driver.cs (L513)
2018-03-05 12:29:52 -06:00
Rolf Bjarne Kvinge 835f65897f
[static registrar] Optimize creation of delegates for blocks. (#3623) (#3644)
* [static registrar] Optimize creation of delegates for blocks.

Optimize creation of delegates for blocks so that it doesn't require the
dynamic registrar.

This is done by getting the metadata token for the Create method that creates
the delegate, and embed that metadata token in the generated code from the
static registrar.

Also add tests, since this scenario was not covered by tests already.

* [mmptest] Fix test after recent changes.

* [test-libraries] Avoid duplicate symbols.

* [tests] Update according to changes.
2018-03-05 07:41:28 +01:00
Marius Ungureanu d4d542d051 [MMP] Allow resolving assemblies to the ones passed in command line args (#3575)
* [MMP] Revert recursive search dirs changes
* [MMP] Allow resolving assemblies to the ones passed in command line args

This is what actually makes the MonoMacResolver actually resolve to
assemblies given as arguments.

This mirrors the behaviour of Pack, which is called on the other
code-path (that's not --runregistrar)

3113c5d2b5/tools/mmp/driver.cs (L513)
2018-03-02 12:59:25 -06: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 b131a54be5
[static registrar] Optimize creation of delegates for blocks. (#3623)
* [static registrar] Optimize creation of delegates for blocks.

Optimize creation of delegates for blocks so that it doesn't require the
dynamic registrar.

This is done by getting the metadata token for the Create method that creates
the delegate, and embed that metadata token in the generated code from the
static registrar.

Also add tests, since this scenario was not covered by tests already.

* [mmptest] Fix test after recent changes.

* [test-libraries] Avoid duplicate symbols.

* [tests] Update according to changes.
2018-03-02 14:30:18 +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
Manuel de la Pena cfc3cbf6ef
[BusinessChat] Introduction of the new framework on iOS and Mac. (#3569) 2018-02-27 12:53:13 +01:00
Chris Hamons ceac49f5ee Warn when building 32-bit macOS applications (#3564) (#3579)
- https://github.com/xamarin/xamarin-macios/issues/3325
2018-02-22 22:38:32 +01:00
Chris Hamons 040461ba0a
Warn when building 32-bit macOS applications (#3564)
- https://github.com/xamarin/xamarin-macios/issues/3325
2018-02-22 12:47:28 -06: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 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
Rolf Bjarne Kvinge c664698b09 [mmp] Don't write to xamarin_supports_dynamic_registration in Classic, it's not there. 2018-02-15 12:26:23 +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
Rolf Bjarne Kvinge 60a8731b35
Merge pull request #3462 from rolfbjarne/optimized-protocol-support
Add a 'register-protocols' optimization that:

Improves static registrar to:

* Generate a new table of protocol -> managed wrapper type. This is required
  to find the wrapper type without having the `[Protocol]` attribute around.

* Make the generated code implement protocols from [Adopts] attributes. This
  makes it possible to link away the `[Protocol]` attribute, because the
  native implementation of `conformsToProtocol:` does the right thing (we
  might even be able to link away our complete `ConformsToProtocol` logic when
  we remove the dynamic registrar).

Improves linker to:

* Not mark protocol interfaces by the mere virtue of having a type that
  implements them. This is implemented by not marking protocol interfaces when
  they're implementing a class, but instead when a method implementation is
  found to implement a method from a protocol interface.

* Mark the wrapper type for protocols (this allows us to remove the Protocol
  attribute, since that's the link between the protocol and its wrapper type).

* Remove the [Protocol], [ProtocolMember] and [Adopts] attributes (but only if
  optimizing protocols).

The static registrar still needs some of the information linked away, so a few
changes are required to make it available post linker.

Benchmark
---------

I've compared the size of entire apps built for device:

|test                          | Before |  After |   Diff |     % |
|:-----------------------------|-------:|-------:|-------:|------:|
|[monotouch-test/Debug][1]     |  101mb |  100mb | -888kb | -0.9% |
|[monotouch-test/Release][2]   | 99.2mb | 95.4mb | -830kb | -0.9% |
|[minimalistic app/Debug][3]   | 10.8mb | 10.4mb | -443kb | -4.1% |
|[minimalistic app/Release][4] |  4.7mb | 4.55mb | -157kb | -3.3% |

[1]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#monotouch-test-debug
[2]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#monotouch-test-release
[3]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#minimal-xi-app-debug
[4]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#minimal-xi-app-release
2018-02-14 17:47:31 +01:00
Ludovic Henry 0d9b598cc2 Bump to mono:2017-12 (#3421)
* 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:2017-12

* Bump to mono:2017-12

* [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

* Fix debug spew

* Bump to mono:2017-12

* Bump to mono:2017-12

Commit list for mono/mono:

* mono/mono@f5e8783eee ignore LocalId test on XAMMAC_4_5 too
* mono/mono@231983017c [2017-12] [reference-assemblies] Fix public key for some newer v4.7.1 facades (#6866)

Diff: b6bff2a286...f5e8783eee

* Bump to mono:2017-12

* Bump to mono:2017-12

* Bump to maccore:master

* Bump to mono:2017-12
2018-02-14 11:08:01 -05:00
Rolf Bjarne Kvinge e14aa74c70 [linker] Move XI/XM shared code from MobileSweepStep to a new CoreSweepStep class. 2018-02-14 09:27:12 +01:00
Rolf Bjarne Kvinge 6aec487461 [mmp] Set Target.LinkContext earlier so that the static registrar has access to it when needed. 2018-02-13 19:38:35 +01:00
Rolf Bjarne Kvinge 1ec2c2a30b
[mmp] Don't store the current registrar in multiple places. (#3466) 2018-02-13 14:32:00 +01:00
Rolf Bjarne Kvinge 0561618460
[mtouch/mmp] Simplify and unify the code to select/create the static registrar. (#3461)
There's only one static registrar now, so there's no need for code to select
which one, just create the one and only.

Also unify this code between mtouch and mmp.
2018-02-12 14:42:19 +01:00
Chris Hamons c0202e0e2b
PMCS Removal (#3197)
You were the preprocessor we wished C# had natively

Removing PMCS requires these changes:
* Remove XamCore from src/
* Remove XamCore from tools/
* Remove XamCore from runtime/
* nint/nuint enum conversion
* _compat_ enum conversion
* NSAction conversion
* Hand fix single API incorrectly converted by PMCS to unbreak compatibility
   - Due to a bug in PMCS, the nuint was incorrectly converted in this API.
   - However, as that ship as sailed, we must "fix" it until XAMCORE_4_0
* Update readme
* Bump macios-binaries
2018-02-05 10:26:29 -05:00
Rolf Bjarne Kvinge b2bcad7a94
Add a BindingImpl attribute and use to to teach the linker look for it to search for optimizable code. (#3299)
* [ObjCRuntime] Add a BindingImplAttribute.

* [linker] Make ProviderToString an extension method on ICustomAttributeProvider to make it more discoverable.

* [generator] Use [BindingImpl] instead of [CompilerGenerated].

The entire diff is big (89MB), so it can't be gisted. However, most of it is
either removal of `using System.Runtime.CompilerServices;` or the change from
`[CompilerGenerated]` to `[BindingImpl (...)]` like this:
https://gist.github.com/rolfbjarne/8bfda3ed37b956d0342a1c1e9b079244

If I remove those parts of the diff, there's nothing significant left:
https://gist.github.com/rolfbjarne/4156164d6bdb1376366200394eb8a091

* [linker] Teach the linker about the new [BindingImpl] attribute.

In addition to the existing logic where the linker would optimize some
[CompilerGenerated] code (sometimes with additional requirements), it will now
also optimize all [BindingImpl (Optimizable)] code (without any additional
requirements).

* [tests] Add tests to make sure [BindingImpl (Optimizable)] works as expected.

* [linker] Check for [BindingImpl] before [CompilerGenerated] and stop checking for [CompilerGenerated] in XAMCORE_4_0.

Check for [BindingImpl] before checking for [CompilerGenerated], since the
former is more common.

Also stop checking for [CompilerGenerated] (at least to mean that code is
optimizable) in our next non-compatible evolutionary leap (XAMCORE_4_0):

* [introspection] Impl a better typo check.
2018-01-26 18:38:23 +01:00
Marius Ungureanu b7230a1176 [Mmp] Allow multiple assemblies to be passed to generate the registrar (#3129)
By convention, the first assembly is the target platform assembly

* Add support for recursive extra search directories.
2018-01-25 19:57:44 -05:00
Rolf Bjarne Kvinge af03020eef
[mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242)
* [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp.

1. Add an --optimize flag to mtouch/mmp that allows users to select which
   optimizations to apply (or not). This makes it easier to add future
   optimizations, and allow users to disable any optimization that causes
   problems without having to disable many other features.

2. Share as much optimization code as possible between mtouch and mmp. This
   immediately gives a benefit to mmp, which has three new optimizations only
   mtouch had: NSObject.IsDirectBinding inlining, IntPtr.Size inlining and
   dead code elimination.

   This results in ~6kb of disk space saved for a linked Xamarin.Mac app:

   * link sdk: [Debug][1], [Release][2]
   * link all: [Debug][3], [Release][4]

Testing also verifies that monotouchtest ([Debug][5], [Release][6]) has not
changed size at all, which means that no default optimizations have changed
inadvertedly.

[1]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--debug
[2]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-sdk-mac--release
[3]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--debug
[4]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#link-all-mac--release
[5]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonedebug64
[6]: https://gist.github.com/rolfbjarne/6b731e3b5ca6170355662e6505c3d492#monotouchtest-iphonerelease64

* [tools] Don't enable the IsDirectBinding optimization by default for Xamarin.Mac apps, it's not safe.

* Fix whitespace issues.

* [doc] Document optimizations.

* Officially support optimizations by adding them to the Versions.plist.

* [linker] Improve IntPtr.Size inliner + dead code eliminatior and add tests.

* Properly handle operands for the ldc_i4_s instruction (they're sbyte).
* Fix less-than condition to actually do a less-than comparison.
* Make sure to look up the bitness in the Target, not the Application, since
  the Application's value will be incorrect when building fat apps (both
  Is32Build and Is64Build will be true).
* Remove unnecessary checks for the IntPtr.Size inliner: this optimization
  does not depend on other instructions than the IntPtr.get_Size call, so
  remove the checks that verify surrounding instructions. This makes the
  IntPtr.Size inliner kick in in more scenarios (such as the new tests).
* Add tests.

* [tests] Add mmp tests for optimizations.

* [tests] Fix XM optimization tests.

* [tests] Fix test build error.
2018-01-23 11:33:48 +01:00
Rolf Bjarne Kvinge 369271d7b8
[runtime] Remove specialized function for getting the Selector/Class handle of a managed Selector/Class instance. (#3227)
* [runtime] Remove specialized function for getting the Selector/Class handle of a managed Selector/Class instance.

The existing function to get the handle of an INativeObject works just as fine.

* [runtime] Store and use a prebuilt XamMacLauncher.

Some changes in the runtime needs corresponding changes in XamMac.dll, but
since we're not changing XamMac.dll anymore, we can't change the runtime
either.

This means that we must add XamMacLauncher to the list of binaries we copy.

* [runtime] Store and use a prebuilt libxammac*.a as well.
2018-01-22 21:16:41 +01:00
Sebastien Pouliot 3a851e2a63
[mtouch][mmp] Report invalid debug symbols files. Fixes #3200 (#3203)
* [mtouch][mmp] Report invalid debug symbols files. Fixes #3200

Try to read the assembly with symbols and, if that fails, warn and
fallback to loading them without symbols.

This fixes cases were it's not easy to update or delete (e.g. nuget)
bad symbols files - so this cannot be an error without causing a lot
of pain.

However it needs to be reported, otherwise it wont be fixed (by the
publisher) and it can limit the debugability of the application and
the usefulness of the stacktraces.

Finally merge most of the resolver's code between mtouch and mmp so
we don't have to fix such issue twice anymore.

note: this needs to be slightly updated once we get a version of cecil
that can give us a more precise error message.

Also bring Rolf's tests from
https://github.com/xamarin/xamarin-macios/pull/3079

reference:
https://github.com/xamarin/xamarin-macios/issues/3200
2018-01-12 17:39:38 -05:00
Sebastien Pouliot eaff169db3
Revert "[macos] Fix pdb mismatch when saving assemblies processed by mmp (#2901)" (#3188)
This reverts commit 91ded43b0b.

Discussed in https://bugzilla.xamarin.com/show_bug.cgi?id=60923
2018-01-09 17:21:50 -05:00
Vincent Dondain d7b7a6ea02 Merge branch 'xcode9.2' 2017-12-06 14:41:13 -05:00
Timothy Risi 87f9e23989 [MetalPerformanceShaders] Xcode 9 bindings (#3005)
* [MetalPerformanceShaders] Activate bindings for Xamarin.Mac and add n… (#2816)

* [MetalPerformaceShaders] Several MPSCnnKernel properties should be readonly (#2938)

The subclasses versions of the properties need Override, cannot be removed since it would break visibility for iOS 10

* Remove some [Model] attributes that sholdn't be needed

* Fix introspection test crashes

* More introspection fixes

* NN does not need to be PascalCased

Remove unneeded Models and BaseTypes

* PR Whitespace fixes and renamings

* Paste fail

* More fixes from PR comments

* [MPS] Adds new intro test, fixes ctors and xtro output

* Removes duplicated availability attributes.
* Removes obsoleted API from macOS since mps is new to it.
* Fixes xtro output.
* Adds missing API.
* Fixes parameterless ctors, some of them do not really work, found
  by our new intro test and disabled the one that seem to not make
  sense due to the presence of DesignatedInitializers.
* Fixes a selector typo.
* Adds new `ShouldNotExposeDefaultCtorTest` to intro.

ShouldNotExposeDefaultCtorTest
==============================

This test checks for types with a parameterless ctor that are subclasses
of `NSObject` and then cheks if the BaseType of said objects also expose
a parameterless ctor (all in .NET land), if this is not the case it reports
them and so they can manually audited. Also this test has the ability to
print alloc/init ObjC code by setting `genObjCTestCode` to `true` so you can
take this code into an Xcode project and easily tests the ctors.

It seems that xtro (sharpie) does not have a complete picture of when a ctor
must be exposed hence the hability to generate this code and manually test.

Right now this test is just enabled for MPS since it is the scope of this PR.
In the future it should be enabled for all other frameworks and the output be
manually audited.

* [MPS] Fixes premature collection possible in bindings (bug 59547) and implements feedback.

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

* Fixes premature collection possible in bindings im MPSKernel.cs
* Fixes MPSImageHistogramTest from using deprecated API.
* Removes renamed selectors and typos from ApiSelectorTest and ApiTypoTest.

* [MPS] Reenable Copy API and DesignatedInitializer xtro feedback

* Implement more feedback

* More feedback
2017-11-28 14:29:05 -06:00
Sebastien Pouliot 03f9c4b9ca
[mtouch][mmp] Allow the use of major-only version numbers in arguments. Fixes #60280 (#3029)
The parsing done by `System.Version` does not accept a major-only string,
e.g. providing "11" would throw an exception.

Since people generally refer version as iOS 11 (and not iOS 11.0) this
is, at best, a nuisance. Xcode toolchain accept "11" as a valid string.

The first part of message was updated to show both the option name and
the (user provided) value.

The 2nd part remain the text of the .net exception message, i.e. what
`Version.Parse` tells you when it validates the string. Seeing the input
value should make it more obvious for other, incorrect version strings.

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=60280
2017-11-23 11:16:30 -05:00
Chris Hamons d2d2fcb352
[macos] Error when linking mix-mode assemblies (#2911)
- https://bugzilla.xamarin.com/show_bug.cgi?id=58583
2017-11-16 09:18:18 -06:00
Rolf Bjarne Kvinge e8d16c925b
[mtouch/mmp/bgen] Add support for response files. (#2808)
* [mtouch/mmp/bgen] Add support for response files.

This is the first part of the fix for #56501.

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

* [tests] Make sure no single argument starting with a '@' is passed to mtouch unless it's a response file.

--assembly-build-target takes arguments starting with '@', for instance:

    --assembly-build-target @all=framework

which does not work anymore, because that's interpreted as a response file
(mtouch tries to read the file '@all=framework', which obviously doesn't
exist).

The fix is simple, don't put a space between the two arguments:

    --assembly-build-target=@all=framework

* Add --root-assembly to mtouch/mmp and make the MSBuild tasks use this new option.

This makes it possible to pass root assemblies starting with `@` to mtouch/mmp
without getting mistaken for response files.

* [msbuild] Always use the command-line option that takes an equals or colon.

Always use the command-line option that takes an equals or colon instead of a
space.

Do either of these:

    --foo=something
    --foo:something

instead of this:

    --foo something

so that `something` can start with an at (`@`) sign without being mistaken for
a response file.

* [msbuild] Fix tests according to recent task changes.
2017-11-16 16:02:34 +01:00
Bernhard Urban 20182800a1
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.

* [builds] Pass --with-cross-offsets= to crosstv's configure.

* Bump mono to 2017-08.

* Bump mono to 2017-08.

* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.

This is also needed to build with Xcode 8.3 on High Sierra.

* Remove old AppleTls implementation.

* Bump mono.

* Bump mono to 2017-08.

* Bump mono to 2017-08

* Reenable link-keep-resources-2 test

- This reverts commit 76b759ef22.
- 2017-08 has linker fix

* Bump mono to 2017-10

* Revert "Bump mono to 2017-10"

This reverts commit bb7832724e.

* Bump system mono to 2017-10

* Bump embedded mono to 2017-10

* [runtime] reflect eglib move

9be68f8952

* bump mono

* [btouch] remove Security.Tls usage from test

* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.

see
ea4e4a9ef6

fixes:

```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
  _mono_profiler_startup_log
  Expected: collection containing "_mono_profiler_startup_log"
  But was:  < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0

2) Failed : Xamarin.MTouch.Profiling(watchOS)
  _mono_profiler_startup_log
  Expected: collection containing "_mono_profiler_startup_log"
  But was:  < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```

* [mmptest] update log profiler options.

826558a4af
deprecated the dash prefix for the mlpd path.

`noallocs` or `nocalls` are not needed, neither of them are default anymore.

* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.

another corlib resource (mscorlib.xml) was added:

https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d

* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."

This reverts commit 350eb3c174.

* [XHarness] Add the Mono.Data.Tds tests.

* Address comments from rolf in the review.

* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped

the test was failing in that way:

> Executing link-keep-resources-2...
> [FAIL]	i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml

also update the output, because it's actually expected at least three
elements.

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

* bump mono

fixes crash in tvOS: https://github.com/mono/mono/pull/5812

* bump mono for updated BCL tests

see https://github.com/mono/mono/pull/5820

* [mono] set 2017-10 branch in .gitmodules

* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)

* [macos] Fix guiunit error on clean builds by depending on correct copy

- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern

* Code review change

* Swap to var to reduce diff

* Revert changes in the paths for GuiUnit.

* [XHarness] Add the System.IO.Compression bcl tests. (#2918)

* [XHarness] Add the System.IO.Compression bcl tests.

*  [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)

* [XHarness] Add the System.IO.Compression bcl tests.

* Ensure that resources are correctly copied in the bundles.

* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.

* As per review, make the Mac test app name match the tests that are ran.

* [XHarness] Add Mono.CSharp tests on ios. (#2927)

* [XHarness] Add Mono.CSharp tests on ios.

* Bump mono to bring changes in the mono.csharp tests.

* [xtro-sharpie] fix TypeDefinition access due to Cecil change

* Bump mono

* bump mono

fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482

* bump mono

more fixes around conflicting paths when tests are run in parallel.

* Bump for mono/mono@2017-10
2017-11-14 21:30:08 +01:00
Rolf Bjarne Kvinge 08250fc9b2
[mmp] Use ordinal string comparison explicitly. (#2963) 2017-11-07 16:11:27 +01:00
Chris Hamons 91ded43b0b [macos] Fix pdb mismatch when saving assemblies processed by mmp (#2901)
- https://bugzilla.xamarin.com/show_bug.cgi?id=60277
- Teach mmp and mtouch resolver to always ask for symbol reading from Cecil
- In most cases we explicitly load symbols (LoadReferencesStep) but when we don't rewritten assemblies don't match their pdb and we break debugging.
2017-10-23 12:52:14 -05:00
Chris Hamons bbccd445fe [macos][mmp] Update mmp's help to note registrar and fix aot mistake (#2913)
- https://bugzilla.xamarin.com/show_bug.cgi?id=60294
2017-10-20 15:42:14 -05:00
Chris Hamons 75235cdf17 Fix a number of introspection test failures on 10.13 (#2815) (#2833) 2017-10-03 12:59:13 -05:00
Chris Hamons aca0e2ed2e Fix a number of introspection test failures on 10.13 (#2815) 2017-10-02 16:55:23 -05:00
Chris Hamons c3d8555217 Move MT0091 to common code so Xamarin.Mac can benefit from the more f… (#2780)
- https://bugzilla.xamarin.com/show_bug.cgi?id=59186
2017-09-29 12:45:53 -05:00
Rolf Bjarne Kvinge ce1afac26a [registrar] Don't store LinkContext in the static registrar when in can be fetched from the Target. Partially fixes #59617.
This avoids a problem where our code would store null because LinkContext
wasn't created yet when the static registrar instance was created.

This fixes the missing error from bug #59617.

https://bugzilla.xamarin.com/show_bug.cgi?id=59617
2017-09-28 17:39:03 +02:00
Rolf Bjarne Kvinge 05484c915f [registrar] Don't verify the SDK for protocol members, and fix the SDK check for other cases. Fixes #59617. (#2790)
* [registrar] Remove useless interface.

* [registrar] Don't store LinkContext in the static registrar when in can be fetched from the Target. Partially fixes #59617.

This avoids a problem where our code would store null because LinkContext
wasn't created yet when the static registrar instance was created.

This fixes the missing error from bug #59617.

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

* [registrar] Don't verify the SDK for protocol members. Partially fixes #59617.

It's not needed, because protocol members don't end up in the registrar output
anyway (and would thus not prevent the registrar code from compiling).

Classes that implement any protocol members would still run into the SDK
check, so this should not prevent real problematic code from being reported
either.

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

* [tests][mtouch] Fix tests after registrar changes.
2017-09-28 17:35:21 +02:00
Rolf Bjarne Kvinge 34f31b5b34 [linker] Preserve smart enum conversion methods when needed. 2017-09-26 16:14:42 +02:00
Rolf Bjarne Kvinge 40d9cb9bf1 Merge remote-tracking branch 'origin/master' into bindas-registrar-support 2017-09-26 10:58:35 +02:00
Chris Hamons 7c676d663b [macos] Release mode AOT should delete dSYM files (#2760)
- https://bugzilla.xamarin.com/show_bug.cgi?id=59647
- There is no reasonable knob on the AOT process to not generate dSYM so delete after processing (these specific files are spawned only by/during AOT)
- AppStore complains if you ship bundles with dSYM fils present
- Fix mmp unit test stand alone execution (make run in tools/mmp uses different (faster) build system than full mmp tests)
2017-09-25 09:34:48 -05:00