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

7374 Коммитов

Автор SHA1 Сообщение Дата
Vincent Dondain 07e9dd0b06
Bump for Xcode 11.2 beta 1 (#7195) 2019-10-08 23:57:41 -04:00
Rolf Bjarne Kvinge 2e360ee4e2
Merge pull request #7190 from VincentDondain/d16-4-merge-xcode11.1
Merge xcode11.1 into d16-4
2019-10-08 12:47:24 +02:00
Manuel de la Pena e37549bc90
[Networking] Bring the framework up to Xcode 11.1 (#7091)
Add most of the new classes for Networking on Xcode11.1
2019-10-07 21:53:04 -04:00
Vincent Dondain a3076f29a3 Merge branch 'xcode11.1' into d16-4 2019-10-07 21:46:13 -04:00
Rolf Bjarne Kvinge 33e78af34e Merge remote-tracking branch 'origin/d16-3' into xcode11.1 (#7178)
* [xharness] Fix incorrect merge. (#7033)

Add new device tasks to the right list so that they're processed and marked as
ignored correctly later.

* Bump maccore for device scheduling fix (#7029)

New commits in xamarin/maccore:

* xamarin/maccore@3064e2c463 [device-builds] Fix if condition typo (double `[`) (#1986)
* xamarin/maccore@e8bdf7a70f [tests] Treat Xcode GM as beta so we don't have to update all devices to GM (#1964) (#1973)

Diff: a86e78a3a1..3064e2c463

* Use Xcode 11 final (#7073)

It's the same hash as Xcode 11 GM 2 but it's cleaner to actually use `Xcode11.app`.

In addition: the device bots are looking for "GM" and "beta" in the Xcode name to run on either the stable or beta pool.

* [builds] Stop shipping the 32-bit AOT compiler for Xamarin.Mac. (#7042)

* [d16-3] Bump mono 2019-06@5608fe0a (#7126)

* [d16-3] Bump mono 2019-06@5608fe0a

New commits in mono/mono:

* mono/mono@5608fe0abb [2019-06] Update NETStandard 2.1 APIs (#17081)
* mono/mono@a5b8d6fcb5 [2019-06] Fix time zone issue when jumping into DST (#17062)
* mono/mono@390e6e124f Revert "[metadata] Fix leaks when handling a few attributes (#16675) (#16851)"
* mono/mono@459dd927df [2019-06] Bump bockbuild to get https://github.com/mono/bockbuild/pull/121
* mono/mono@beb9a1b182 [sdks] Remove the mac32 build.
* mono/mono@747a919a06 [ci] Make ios/mac sdks archive URL more predictable
* mono/mono@114013096e [ci] Build iOS/Mac Mono sdks archive using Xcode 11
* mono/mono@10a24f3ea1 Implement WriteCore and ReadCore in DeflateStream
* mono/mono@a925846b1f [offsets-tool] Install clang into the user-specific python directory. (#16933)
* mono/mono@fe64a4765e [2019-06] Bump msbuild and sdk versions to 3.0.1xx latest (#16870)
* mono/mono@7293597b90 [corlib] Fix building nunit-lite twice (#16910)
* mono/mono@1648e88687 Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16896)
* mono/mono@a6b5187d76 [metadata] Fix leaks when handling a few attributes (#16675) (#16851)
* mono/mono@7da9a041b3 [2019-06] Bump to mono/corefx@e79cf5b
* mono/mono@2b7050bdf3 [2019-06] Add RenamedEvent* to FSW sources from CoreFX (#16758)
* mono/mono@4f5ed502c6 [msbuild] pick up p4 versions
* mono/mono@f04ee2219d [2019-06][msbuid][roslyn] Bump msbuild and roslyn-binaries to pick up dotnet 3.0.100-p9 toolset
* mono/mono@6b4b99e571 Vtable [i] can be null so this should be check before use it. Fixes #16712

Diff: 7af64d1ebe..5608fe0abb

* [tests] Adjust to non-fat macOS libraries from mono.

* [monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7157)

microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-07 20:51:21 -04:00
Vincent Dondain 8987465a62 Update 'xcode11.1' package version and Xcode path (#7186)
We'll be releasing from the `xcode11.1` branch, therefore we need to move to the stable version scheme (even numbers).
In addition, since Xcode is out of GM we need to update the Xcode path so the stable device bots pickup those builds.
2019-10-07 19:54:11 -04:00
Pramit Mallick 3a69f54564
changed AudioTypes enum (#7185) 2019-10-07 18:29:30 -04:00
monojenkins e2963d9e24 [xcode11.1] [Foundation] Remove a possible race condition when interacting with the notification centre. (#7184)
* [Foundation] Remove a possible race condition when intereacting with the notification centre.

Although it looked that it was not possible, due to the fact that the
RemoveObserversFromList oes lock on the list of observers, we have
threads that are stepping on each other when the list is cleaned up.
Adding a lock around the AddObserver and RemoveObserver will ensure that
the handler does not call the removal more than once with an object that
was already removed.

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

* Move the removal of the notification to inside the lock in the dispose method.

* Better locking as per reviews.
2019-10-07 14:11:54 -04:00
Rolf Bjarne Kvinge d354048c65
Automatically build mono from source if any of the archives aren't available. (#7160) (#7180)
* Automatically build mono from source if any of the archives aren't available.

* [jenkins] Show in the PR report if mono was built from source.

* [jenkins] Make sure we got everything after running configure.
2019-10-07 16:32:00 +02:00
monojenkins c7830a082f [bcl-tests] Ignore test that's running out of memory (#7138)
- First appeared here: https://github.com/xamarin/xamarin-macios/pull/7127#issuecomment-536688551
- Mono issue filed here: https://github.com/mono/mono/issues/17129
2019-10-04 14:57:22 -04:00
Manuel de la Pena 718f57f7ad
[Tests] Ignore some tests when using the interpreter (#7158)
Some tests do fail with the interpreter on tvOS. Ignoring them only
there.

Fixes https://github.com/xamarin/maccore/issues/1909
2019-10-02 18:12:20 -04:00
monojenkins dcad385e4e [monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7156)
microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-02 18:08:18 +02:00
monojenkins c7d9fc10f8 [d16-4] [AppKit] Add missing Accessibility protocols. (#7146)
* [AppKit] Add missing Accessibility protocols.

This commit adds a few protocols that were missing. It is interesting to
mention that there are two of the protocols that are decorated with
NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION, as per Apple documentation
this means that:

'Unlike normal protocols, when you adopt one of the role-specific protocols,
 Xcode may ask you to reimplement methods that have already been implemented
 by one of your ancestors.

 In order to ensure that your control returns accurate and useful information,
 some methods are tagged with the NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION
 attribute. For these methods, you need to override your superclass’s
 implementation with your own.
'

In this case, we need to add the methods from all the parent classes and
set them to be [Abstract] since they are required. Not all methods have
to be added ONLY the required ones.

fixes: https://github.com/xamarin/xamarin-macios/issues/7079

* Remove the new methods.
2019-10-02 11:04:41 -05:00
monojenkins bc35a27aad [monotouch-test] Fix UrlProtocolTest after a server we don't control changed its output. Fixes xamarin/maccore#2006. (#7155)
microsoft.com is doing user agent sniffing, and broke our our test since their
output is now different. Switch to example.com instead.

Fixes https://github.com/xamarin/maccore/issues/2006.
2019-10-02 16:50:08 +02:00
monojenkins d45ad36c66 Bump mono to 2019-08@528103728fc2aedb7b6062e11255d39a0ed3f31c to add missing NS2.1 APIs (#7150)
See https://github.com/mono/mono/issues/17064.

The 2019-08 version of the fix adds a new assembly with NS2.1 APIs that we stubbed out in 2019-06: System.Data.DataSetExtensions.dll
2019-10-02 08:08:41 -04:00
Alex Soto 8611f72b46
[d16-4] maccore bump to get devops fix (#7144) 2019-10-01 11:10:39 -04:00
Vincent Dondain d81f05feab
[SceneKit] Update for Xcode 11 (#7140) 2019-10-01 10:55:49 -04:00
Rolf Bjarne Kvinge 4d5d38be02
Drop the Xcode 9.4 dependency. (#7044) (#7135)
* Drop the Xcode 9.4 dependency. (#7044)

* Drop the Xcode 9.4 dependency.

Also bump mono to get the removal of the mac32 binaries.

New commits in mono/mono:

* mono/mono@beb9a1b182 [sdks] Remove the mac32 build.
* mono/mono@747a919a06 [ci] Make ios/mac sdks archive URL more predictable
* mono/mono@114013096e [ci] Build iOS/Mac Mono sdks archive using Xcode 11
* mono/mono@10a24f3ea1 Implement WriteCore and ReadCore in DeflateStream
* mono/mono@a925846b1f [offsets-tool] Install clang into the user-specific python directory. (#16933)
* mono/mono@fe64a4765e [2019-06] Bump msbuild and sdk versions to 3.0.1xx latest (#16870)
* mono/mono@7293597b90 [corlib] Fix building nunit-lite twice (#16910)
* mono/mono@1648e88687 Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16896)
* mono/mono@a6b5187d76 [metadata] Fix leaks when handling a few attributes (#16675) (#16851)
* mono/mono@7da9a041b3 [2019-06] Bump to mono/corefx@e79cf5b
* mono/mono@2b7050bdf3 [2019-06] Add RenamedEvent* to FSW sources from CoreFX (#16758)
* mono/mono@4f5ed502c6 [msbuild] pick up p4 versions
* mono/mono@f04ee2219d [2019-06][msbuid][roslyn] Bump msbuild and roslyn-binaries to pick up dotnet 3.0.100-p9 toolset
* mono/mono@6b4b99e571 Vtable [i] can be null so this should be check before use it. Fixes #16712

Diff: 7af64d1ebe..beb9a1b182

* [tests] Add a fat macOS dylib for testing purposes.

Add a binary version of a fat macOS dylib (because we can't create one when we
need it since we can't create 32-bit slice anymore).

It was created like this (in tests/test-libraries):

	$ cat test.m
	int theUltimateAnswer ()
	{
		return 42;
	}

	$ /Applications/Xcode94.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang test.m -olibtest.i386.dylib -shared -isysroot /Applications/Xcode94.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Foundation -framework CoreLocation -lz  -arch i386
	$ lipo -create libtest.i386.dylib .libs/macos/libtest.dylib -output libtest-fat.dylib

* [tests] Adjust XM tests to XM not having fat dylibs anymore.

* [tests] Adjust product tests to some libraries not being fat anymore.

* [tests] Don't treat an Xcode with the same major version number as old.

Fixes an issue in the MT0091 test, where it would fail on tvOS because the
test wanted to use an older Xcode, and we could end up returning Xcode 11.0
when the current Xcode is 11.1. Since the test depends on using the OS SDK as
it was designed for (technically using an OS SDK earlier than the latest), it
ended up failing because while the iOS SDK was bumped in Xcode 11.1, the tvOS
SDK was not.
2019-10-01 16:18:28 +02:00
Rolf Bjarne Kvinge 3ec3470a4e
[UIKit] Add '[Appearance]' to a few appearance properties. Fixes #6938, (#7134)
Add '[Appearance]' to a few appearance properties as defined in Apple's headers.

Fixes https://github.com/xamarin/xamarin-macios/issues/6938.
2019-10-01 07:21:58 +02:00
Vincent Dondain 0c7c58576b
Merge pull request #7127 from VincentDondain/d16-4-bump-mono
[d16-4] Bump mono 2019-08@d8441dee
- Fixes xamarin/maccore#1996
2019-09-30 15:08:05 -04:00
Rolf Bjarne Kvinge 979eb13ab2 [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 15:14:23 +02:00
Rolf Bjarne Kvinge 7144927e91 Revert "[tests] Remove workaround for xamarin/maccore#1996."
This reverts commit f363515829.

Pushed to the wrong branch.
2019-09-30 15:13:53 +02:00
Rolf Bjarne Kvinge f363515829 [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 11:37:36 +02:00
Vincent Dondain cc740822a5 [d16-4] Bump mono@d8441dee
New commits in mono/mono:

* mono/mono@d8441deead [crashing] Remove Mono signal handlers when starting to handle a crash (#17078)
* mono/mono@7ae0f38fd7 [runtime] Respect runtime_version in mono_init_internal (#17086)
* mono/mono@61ca7fe3a4 [sdks] Bump min iOS version to 7.0. (#17070)

Diff: c99adb97ed..d8441deead
2019-09-27 18:13:35 -04:00
Matt Sylvia 504a6a52fb Branching for d16-4 2019-09-27 16:46:47 -04:00
Difegue 36d9417f92 Fix the NSFileTypeForHFSTypeCode enum (#6676)
* Rework NSFileTypeForHFSTypeCode

* Start writing 4cc test

* Update NSWorkspace.cs

* Fix formatting issues

* Fix tests

* Update src/AppKit/Enums.cs

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

* Update src/AppKit/NSWorkspace.cs

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

* Reintroduce old NSFileTypeForHFSTypeCode

+ Fix tests style

* Invert XAMCORE_4_0 check

* Fix xtro (new API added)
2019-09-27 14:14:15 -04:00
Sebastien Pouliot 05af7ac183
[generator] Reduce code duplication in trampolines by introducing a new base type (#7118)
This saves 107kb (0.7%) in Xamarin.iOS.dll (managed code and metadata).
Release (AOT) size reduction will vary depending on how much the linker can remove.

```
-rwxr-xr-x  1 poupou  staff  15963136 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  12301824 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  17126912 26 Sep 10:16 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  8375296 26 Sep 10:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  11671040 26 Sep 10:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  7321088 26 Sep 10:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.WatchOS.dll
-rwxr-xr-x  1 poupou  staff  5295104 26 Sep 10:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.WatchOS/Xamarin.WatchOS.dll
lrwxr-xr-x  1 poupou  staff  38 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/Xamarin.Mac/Xamarin.Mac.dll -> ../../reference/mobile/Xamarin.Mac.dll
lrwxr-xr-x  1 poupou  staff  36 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/4.5/Xamarin.Mac.dll -> ../../reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21060096 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21063168 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/mobile/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21060096 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  21063168 26 Sep 10:16 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/mobile/Xamarin.Mac.dll
```

```
-rwxr-xr-x  1 poupou  staff  15853568 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  12244480 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.iOS/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  17017344 26 Sep 11:15 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.iOS.dll
-rwxr-xr-x  1 poupou  staff  8346624 26 Sep 11:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  11615744 26 Sep 11:13 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/64bits/Xamarin.TVOS.dll
-rwxr-xr-x  1 poupou  staff  7267328 26 Sep 11:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.WatchOS.dll
-rwxr-xr-x  1 poupou  staff  5267456 26 Sep 11:12 _ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.WatchOS/Xamarin.WatchOS.dll
lrwxr-xr-x  1 poupou  staff  38 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/Xamarin.Mac/Xamarin.Mac.dll -> ../../reference/mobile/Xamarin.Mac.dll
lrwxr-xr-x  1 poupou  staff  36 26 Sep 10:11 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/mono/4.5/Xamarin.Mac.dll -> ../../reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20979712 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20983296 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/reference/mobile/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20979712 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/full/Xamarin.Mac.dll
-rwxr-xr-x  1 poupou  staff  20983296 26 Sep 11:15 _mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/x86_64/mobile/Xamarin.Mac.dll
```
2019-09-27 09:05:38 -04:00
Rolf Bjarne Kvinge 0418008046
[runtime] Use newer atomic functions. (#7119)
Fixes these warnings:

    shared.m:252:6: warning: 'OSAtomicDecrement32Barrier' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_sub() from <atomic> instead [-Wdeprecated-declarations]
            if (OSAtomicDecrement32Barrier (&bl->descriptor->ref_count) == 0) {
                ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:201:9: note: 'OSAtomicDecrement32Barrier' has been explicitly marked deprecated here
    int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue );
            ^
    shared.m:270:2: warning: 'OSAtomicIncrement32' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_add_explicit(std::memory_order_relaxed) from <atomic> instead [-Wdeprecated-declarations]
            OSAtomicIncrement32 (&source->descriptor->ref_count);
            ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:171:9: note: 'OSAtomicIncrement32' has been explicitly marked deprecated here
    int32_t OSAtomicIncrement32( volatile int32_t *__theValue );
            ^
    monotouch-debug.m:309:10: warning: 'OSAtomicIncrement32Barrier' is deprecated: first deprecated in watchOS 3.0 - Use std::atomic_fetch_add() from <atomic> instead [-Wdeprecated-declarations]
            int c = OSAtomicIncrement32Barrier (&http_send_counter);
                    ^
    /Applications/Xcode11.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS6.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:182:9: note: 'OSAtomicIncrement32Barrier' has been explicitly marked deprecated here
    int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue );
            ^
2019-09-27 07:15:59 +02:00
Manuel de la Pena b360408197
[Tests] Make the CoreBluetooth tests more reliable. (#7115)
Tests were failing because the manager was getting dispose and the
delegate was not. We ran into the failure because there was a device
close to the lab with the UUID that was being used.

The change uses a even more common UUID (heart monitor), which should
increase the chances to pick up a device and re-orgs the disposal of the
manager and the delegate.

This was confirmed with a BLE device, watchOS does not like us to try
and access it as a bluetooth device and is 'hacky'.

Fixes: https://github.com/xamarin/xamarin-macios/issues/7108
2019-09-26 17:07:57 -04:00
Rolf Bjarne Kvinge 621d2e0331
Bump maccore to get mlaunch fix for lldb support. (#7114)
Diff for xamarin/maccore bump: 486ad67875..454248ba13
2019-09-26 18:36:00 +02:00
Manuel de la Pena 2cea3568b9
[AppKit] Add missing Accessibility protocols. (#7105) 2019-09-26 09:46:38 -04:00
Alex Soto cd5917650e
[mono] Bump mono to match android (#7104)
* [mono] Bump mono to match android

4546440471...c99adb97ed

* [tests] Add workaround for xamarin/maccore#1996.
2019-09-26 08:39:49 -04:00
Vincent Dondain 253900cf00
Bump for Xcode 11.1 GM (#7090)
- Fixes https://github.com/xamarin/xamarin-macios/issues/7045
- Fixes Xcode path and point API diff to HEAD of d16-3
- Ignore ScanForPeripherals & RetrievePeripherals tests for now (https://github.com/xamarin/xamarin-macios/issues/7108)
2019-09-25 23:13:13 -04:00
Rolf Bjarne Kvinge 46fbc833d7
Use the mono archive again. (#7096) 2019-09-25 17:35:11 +02:00
Rolf Bjarne Kvinge 1e92a732ef
[mtouch] Tweak watchOS architecture test to build for bitcode when building with llvm. Fixes xamarin/maccore#1994. (#7097)
Tweak the watchOS architecture test to build for bitcode when building with
llvm, since that's what's usually done.

Also tweak the MT0145 error message a bit.

Fixes https://github.com/xamarin/maccore/issues/1994.
2019-09-25 17:06:27 +02:00
Manuel de la Pena 21f7ef967c
[Metal] Add some fixes that were skipped due to a fast finger clicking. (#7093) 2019-09-25 10:14:40 -04:00
Vincent Dondain d4aae746dd [mono] bump mono/2019-08 (#7088)
New commits in mono/mono:

* mono/mono@4546440471 Add mono-hang-watchdog.in to tarball (#17018)
* mono/mono@4c31bdabf3 [2019-08] [debugger] New way to filter exceptions to support VSWin features (#17000)
* mono/mono@d73a286a2c [ci] Make ios/mac sdks archive URL more predictable
* mono/mono@dacef517fa [merp] Use function names even in 'private crashes' mode (#17003)
* mono/mono@d1ca1a5d2e [2019-08] [System.Xml] Fix deserialization issue (#17014)
* mono/mono@1d55b355f3 Correctly check for HAVE_STAT_BIRTHTIME in configure.ac checks for System.Native (#17001)
* mono/mono@bb522edb0d [2019-08] Restore Previous ExecutionContext Capture Behavior (#16997)
* mono/mono@7f7b5c9f3e [interp] avoid exception checkpoint when in thread is in GC Safe state (#16967)
* mono/mono@c87f99dd81 [ci] Fix typo in sdks-archive.groovy
* mono/mono@065499c2ef [ci] Fix typo in sdks-archive.groovy
* mono/mono@9f7b2c8d0a [ci] Fix typo in sdks-archive.groovy
* mono/mono@2c003ec71d [ci] Build iOS/Mac Mono sdks archive using Xcode 11
* mono/mono@e02e823ef7 [arm64_32] fix pointer size in CallInfo

Diff: 70d6903053..4546440471
2019-09-25 11:07:24 +02:00
monojenkins abfa32c09f [master] [generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7092)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 21:12:59 -04:00
Vincent Dondain 601f86abd1
Bump Touch.Unit (dark mode support) (#7021)
New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@d22825a [TouchRunner] Fix colors for iOS 13 dark mode (#53)

Diff: de42aa3a64..d22825a7d1
2019-09-24 16:33:20 -04:00
Sebastien Pouliot 6bdce2dac8
[generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7085)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 16:24:08 -04:00
Bernhard Urban 26ec2826aa ARM64_32 Debug Mode (#7012)
* [builds] add arm64_32 cross compiler

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

* [mtouch] include debug check for arm64_32 and reflect error codes in documentation
2019-09-24 17:24:49 +02:00
Sebastien Pouliot 80e6e63f87
[generator] Fix BI0000 from FormatException when no arguments are provided for an error (#7078)
Add new overloads so we can skip `String.Format` calls when relaying
messages without any arguments. Solve cases like

```
error BI0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
System.FormatException: Input string was not in a correct format.
  at System.Text.StringBuilder.AppendFormatHelper (System.IFormatProvider provider, System.String format, System.ParamsArray args) [0x000b2] in /Users/builder/jenkins/workspace/build-package-osx-mono/2019-06/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Text/StringBuilder.cs:1445
...
```

because we failed compilation due to an (hidden) syntax error like:

```
foundation.cs(3627,3): error CS1519: Invalid token '{' in class, struct, or interface member declaration
```

where the `{` character is causing the `FormatException` inside the
generator sources.

This is now more properly reported as

```
error BI0002: bgen: Could not compile the API bindings.
	foundation.cs(3627,3): error CS1519: Invalid token '{' in class, struct, or interface member declaration
```
2019-09-24 09:08:05 -04:00
Rolf Bjarne Kvinge 2adecee3d9
Drop the Xcode 9.4 dependency. (#7044)
* Drop the Xcode 9.4 dependency.

Also bump mono to get the removal of the mac32 binaries.

New commits in mono/mono:

* mono/mono@70d6903053 [2019-08] [merp] Use a separate program as the hang supervisor. (#16900)
* mono/mono@4bff2b6370 [offsets-tool] Install clang into the user-specific python directory.
* mono/mono@81894ec8ca Implement WriteCore and ReadCore in DeflateStream
* mono/mono@bfbf823ca1 [ci] Remove more XCODE32_DIR usages (#16964)
* mono/mono@ce01b20a4d Add net_4.8.xml to EXTRA_DIST and bump binary-reference-assemblies again
* mono/mono@7a587d7fa6 Add .NET 4.8 reference assemblies (#16912)
* mono/mono@35e454a8f6 [sdks] Remove the mac32 build. (#16936)
* mono/mono@75eb342f53 [2019-08] [System] Make FileSystemWatcher backend non-static (#16926)
* mono/mono@5881981f79 [2019-08] [mini] Add missing membars when initializing rgctx entries (#16909)
* mono/mono@6290b6cd6e Temporarily disable embedded ppdb data decompression (#16911)
* mono/mono@a0e7f9eaf2 [2019-08] [arm64_32] make "Debug Mode" work on Watch series 4 with --interpreter (#16886)
* mono/mono@6275840a7f Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16901)
* mono/mono@25f6093283 [corlib] Fix building nunit-lite twice (#16895)
* mono/mono@7ec17ba1be [2019-08] [android sdk] Add aprofutil tool (#16884)
* mono/mono@f755f3b539 [metadata] Fix leaks when handling a few attributes (#16850)
* mono/mono@5f9a2db39b [2019-08] Fix infrequent hangs in test-runner. (#16854)
* mono/mono@f31f5ea1f1 [2019-08] [threads] do not convert NULL thread name (#16828)
* mono/mono@20308e6f87 [aot] Do not wrap tool_prefix path when calling strip (#16820)
* mono/mono@cecda47c48 [aprofutil] Add -p and -f options
* mono/mono@824cc12ac3 Bump to mono/corefx@e79cf5b
* mono/mono@b77dc06a7e [aprofutil] Install the tool correctly (#16112)
* mono/mono@1848d78d60 [aotprof-tool] Initial import of AOT profiler tool (#15384)
* mono/mono@da0086e304 [2019-08] Add RenamedEvent* to FSW sources from CoreFX (#16756)
* mono/mono@0297b21b03 [msbuild][roslyn] Bump msbuild and roslyn to pull in new versions (#16768)
* mono/mono@40631e3b9e [2019-08] [aot] move method_addresses to data.rel.so section to avoid text relocations (#16751)
* mono/mono@68b77674e2 Vtable [i] can be null so this should be check before use it. Fixes #16712
* mono/mono@4a0b4f41ed [mini] publish global patches after JitInfo has been added
* mono/mono@7a1f63fde6 [debugger][android] It was not initialising seq_points on MonoCompile on Android, so when was compiling dynamic methods, seq_points wasn't created and we got the assert when try to single step.

Diff: 29b1ac19c9..70d6903053

* [tests] Add a fat macOS dylib for testing purposes.

Add a binary version of a fat macOS dylib (because we can't create one when we
need it since we can't create 32-bit slice anymore).

It was created like this (in tests/test-libraries):

	$ cat test.m
	int theUltimateAnswer ()
	{
		return 42;
	}

	$ /Applications/Xcode94.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang test.m -olibtest.i386.dylib -shared -isysroot /Applications/Xcode94.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Foundation -framework CoreLocation -lz  -arch i386
	$ lipo -create libtest.i386.dylib .libs/macos/libtest.dylib -output libtest-fat.dylib

* [tests] Adjust XM tests to XM not having fat dylibs anymore.

* [tests] Adjust product tests to some libraries not being fat anymore.

* One more test fix.
2019-09-24 13:40:18 +02:00
Bernhard Urban 62466d4c46 [monotouch-tests] reduce amount of test objects to avoid out of memory (#7075)
I get this otherwise on the watch4 in debug mode (with interp):

```
Process 1255 stopped
* thread #1, name = 'tid_303', queue = 'com.apple.main-thread', stop reason = EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=80 MB, unused=0x0)
    frame #0: 0x1e185ae8 CoreGraphics`x_malloc + 44
CoreGraphics`x_malloc:
->  0x1e185ae8 <+44>: str    w19, [x0], #0x10
    0x1e185aec <+48>: ldp    x29, x30, [sp, #0x10]
    0x1e185af0 <+52>: ldp    x20, x19, [sp], #0x20
    0x1e185af4 <+56>: ret
Target 0: (monotouchtest) stopped.
```
2019-09-24 13:29:56 +02:00
Bernhard Urban 04a4c3f2ce
[coop runtime] add a GC transition and relax some GC related assertions (#7036)
* [coop] add missing gc_unsafe transition

    frame #3: 0x02a39fd4 monotouchtest`log_callback(log_domain=0x00000000, log_level="error", message="../../../../../mono/metadata/object.c:1905: Expected GC Unsafe mode but was in STATE_BLOCKING state", fatal=4, user_data=0x00000000) at runtime.m:1251:3
    frame #4: 0x02a03f78 monotouchtest`monoeg_g_logv_nofree(log_domain=0x00000000, log_level=G_LOG_LEVEL_ERROR, format=<unavailable>, args=<unavailable>) at goutput.c:149:2 [opt]
    frame #5: 0x02a03f14 monotouchtest`monoeg_g_logv(log_domain=<unavailable>, log_level=<unavailable>, format=<unavailable>, args=<unavailable>) at goutput.c:156:10 [opt]
    frame #6: 0x02a03fa8 monotouchtest`monoeg_g_log(log_domain=<unavailable>, log_level=<unavailable>, format=<unavailable>) at goutput.c:165:2 [opt]
    frame #7: 0x029e54f8 monotouchtest`assert_gc_unsafe_mode(file="../../../../../mono/metadata/object.c", lineno=1905) at checked-build.c:396:3 [opt]
    frame #8: 0x0294ef98 monotouchtest`mono_class_vtable_checked(domain=0x16d87b70, klass=0x17bfab98, error=0x19498a08) at object.c:1905:2 [opt]
    frame #9: 0x0298f0dc monotouchtest`get_current_thread_ptr_for_domain(domain=0x16d87b70, thread=0x03f645d0) at threads.c:635:2 [opt]
    frame #10: 0x0298d9dc monotouchtest`mono_thread_current at threads.c:2026:23 [opt]
    frame #11: 0x02992a80 monotouchtest`mono_runtime_set_pending_exception(exc=0x0357e4a0, overwrite=0) at threads.c:5176:23 [opt]
    frame #12: 0x02a3c650 monotouchtest`::xamarin_process_nsexception_using_mode(ns_exception=name: "System.ApplicationException" - reason: "3,14", throwManagedAsDefault=false) at runtime.m:2369:4
    frame #13: 0x02a3c478 monotouchtest`::xamarin_process_nsexception(ns_exception=name: "System.ApplicationException" - reason: "3,14") at runtime.m:2336:2
    frame #14: 0x0270b488 monotouchtest`::xamarin_pinvoke_wrapper_objc_msgSendSuper18(__p__0=0x0357d0f0, __p__1=0x02ad1ef2) at pinvokes.m:5732:4
    frame #15: 0x02a64764 monotouchtest`do_icall(frame=<unavailable>, sig=0x17d70bf0, op=<unavailable>, sp=0x19498fa0, ptr=<unavailable>, save_last_error=0) at interp.c:1947:3 [opt]
    frame #16: 0x02a632b8 monotouchtest`do_icall_wrapper(frame=0x194991b0, sig=0x17d70bf0, op=547, sp=0x19498fb0, ptr=0x0270b408, save_last_error=0) at interp.c:2037:7 [opt]
    Messaging::void_objc_msgSendSuper @ 396160394 "calli.nat.fast" || frame #17: 0x02a51d5c monotouchtest`interp_exec_method_full(frame=0x194991b0, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3229:9 [opt]
    ObjCExceptionTest::InvokeManagedExceptionThrower @ 396160296 "vcall" || frame #18: 0x02a524e8 monotouchtest`interp_exec_method_full(frame=0x19499370, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3400:4 [opt]
    ExceptionsTest::ManagedExceptionPassthrough @ 396150902 "vcallvirt.fast" || frame #19: 0x02a521cc monotouchtest`interp_exec_method_full(frame=0x194994d0, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3325:4 [opt]
    Object::runtime_invoke_direct_void__this__ @ 401347822 "vcall" || frame #20: 0x02a524e8 monotouchtest`interp_exec_method_full(frame=0x19499588, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3400:4 [opt]
    frame #21: 0x02a506f8 monotouchtest`interp_runtime_invoke(method=<unavailable>, obj=0x0357c4f0, params=0x00000000, exc=0x1949965c, error=0x194998b8) at interp.c:1766:2 [opt]
    frame #22: 0x028a739c monotouchtest`mono_jit_runtime_invoke(method=0x17534858, obj=<unavailable>, params=0x00000000, exc=<unavailable>, error=0x194998b8) at mini-runtime.c:3170:12 [opt]
    frame #23: 0x02951cfc monotouchtest`do_runtime_invoke(method=0x17534858, obj=0x0357c4f0, params=0x00000000, exc=0x00000000, error=0x194998b8) at object.c:3017:11 [opt]
    frame #24: 0x0294e6d4 monotouchtest`mono_runtime_invoke_checked(method=<unavailable>, obj=<unavailable>, params=<unavailable>, error=<unavailable>) at class-getters.h:24:1 [opt] [artificial]
    frame #25: 0x02955408 monotouchtest`mono_runtime_try_invoke_array(method=0x17534858, obj=0x0357c4f0, params=0x00000000, exc=0x00000000, error=0x194998b8) at object.c:5564:10 [opt]
    frame #26: 0x02905fac monotouchtest`ves_icall_InternalInvoke(method=<unavailable>, this_arg=<unavailable>, params=0x00000000, exc=0x19499f0c) at icall.c:3753:8 [opt]
    frame #27: 0x02a64788 monotouchtest`do_icall(frame=<unavailable>, sig=0x17496978, op=<unavailable>, sp=0x19499d88, ptr=<unavailable>, save_last_error=0) at interp.c:1982:20 [opt]
    frame #28: 0x02a632b8 monotouchtest`do_icall_wrapper(frame=0x19499fb0, sig=0x17496978, op=552, sp=0x19499da0, ptr=0x02905bec, save_last_error=0) at interp.c:2037:7 [opt]
    RuntimeMethodInfo::InternalInvoke @ 400702536 "calli.nat.fast" || frame #29: 0x02a51d5c monotouchtest`interp_exec_method_full(frame=0x19499fb0, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3229:9 [opt]
    RuntimeMethodInfo::Invoke @ 400701852 "call" || frame #30: 0x02a524e8 monotouchtest`interp_exec_method_full(frame=0x1949a110, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3400:4 [opt]
    MethodBase::Invoke @ 400700872 "callvirt.fast" || frame #31: 0x02a521cc monotouchtest`interp_exec_method_full(frame=0x1949a280, context=<unavailable>, clause_args=<unavailable>, error=<unavailable>) at interp.c:3325:4 [opt]

* [coop] relax a couple GC state assertions

* [coop] update doc for enabling GC assertions

* [coop] relax a GC assertion in release trampoline
2019-09-23 22:08:25 +02:00
Vincent Dondain c54ddd4091
Use Xcode 11 final (#7072)
It's the same hash as Xcode 11 GM 2 but it's cleaner to actually use `Xcode11.app`.

In addition: the device bots are looking for "GM" and "beta" in the Xcode name to run on either the stable or beta pool.
2019-09-23 15:46:00 -04:00
monojenkins e6f8a51204 Use Xcode 11 final (#7074)
It's the same hash as Xcode 11 GM 2 but it's cleaner to actually use `Xcode11.app`.

In addition: the device bots are looking for "GM" and "beta" in the Xcode name to run on either the stable or beta pool.
2019-09-23 15:44:29 -04:00
Manuel de la Pena 5703082581
[Metal] Add support up to GM1 of metal. (#7007) 2019-09-23 11:14:15 -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
monojenkins e8a79fcebd Don't build mono from source when we're running device tests. (#7043)
Because we're using a pre-built package and not building anything at all.

This makes xharness less confused about what it should do.
2019-09-23 16:40:40 +02:00