Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[d16-8][watchOS] Add x86_64 simulator support (#10059) #10133

Closed
wants to merge 2 commits into from

Conversation

dalexsoto
Copy link
Member

Fixes #9949

watchOS apps don't deploy to watchOS 7+ simulators

  • Bumps mono binaries to include x86_64 watchOS support

  • Build runtime/registrar x86_64 slices

  • Produce a 64 bit version of Xamarin.WatchOS.dll

  • Allow building x86_64 for watch simulators in mtouch

  • Let xharness know about x86_64

  • [tests] Add x86_64 arch to test-libraries

  • Make dotnet package aware of x64

  • [ObjCRuntime] Fix computing if we're calling a stret function or not in a 64-bit watchOS simulator.

  • [xharness] Re-enable some watchOS tests.

Co-authored-by: Rolf Bjarne Kvinge [email protected]

New commits in mono/mono:

Diff: https://github.com/mono/mono/compare/be2226b5a1c57df065efc4c1cf008d581e5cec7d..ac596375c762c6b8dbe3c802f0ce626004eab51c

* [watchOS] Add x86_64 simulator support

* Bumps mono binaries to include x86_64 watchOS support
* Build runtime/registrar x86_64 slices
* Produce a 64 bit version of Xamarin.WatchOS.dll
* Allow building x86_64 for watch simulators in mtouch
* Let xharness know about x86_64

* [tests] Add x86_64 arch to test-libraries

* Make dotnet package aware of x64

* [ObjCRuntime] Fix computing if we're calling a stret function or not in a 64-bit watchOS simulator.

* [xharness] Re-enable some watchOS tests.

Co-authored-by: Rolf Bjarne Kvinge <[email protected]>

New commits in mono/mono:

* mono/mono@ac596375c76 Add support for OP_FCONV_TO_I to mini-arm64.c. (xamarin#20548)
* mono/mono@392fe5b87b2 [2020-02][watchOS] Add simwatch64 support (xamarin#20552)
* mono/mono@a22ed3f094e Fix potential crash for Encoder.Convert (xamarin#20522)
* mono/mono@970783731fc Bump to F# 5.0 (xamarin#20511)
* mono/mono@32ab5066f72 Bump msbuild to fix a build issue
* mono/mono@93a7fe77e8e Ensure special static slots respect alignment. (xamarin#20506)
* mono/mono@3db5b358413 [debugger] Switch to GC Unsafe in signal handler callbacks (xamarin#20495)
* mono/mono@af315f44c40 [2020-02][corlib] ThreadAbortException protection for ArraySortHelper (xamarin#20468)
* mono/mono@ca11fb0fd81 [2020-02] Bump ikvm-fork to include mono/ikvm-fork#20 (xamarin#20452)

Diff: https://github.com/mono/mono/compare/be2226b5a1c57df065efc4c1cf008d581e5cec7d..ac596375c762c6b8dbe3c802f0ce626004eab51c
@dalexsoto dalexsoto added the note-highlight Worth calling out specifically in release notes label Nov 21, 2020
@dalexsoto dalexsoto added this to the d16-8 milestone Nov 21, 2020
@dalexsoto dalexsoto requested a review from chamons as a code owner November 21, 2020 19:39
@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
🔥 Test run failed 🔥

Test results

6 tests failed, 128 tests passed.

Failed tests

  • [NUnit] Mono SystemNumericsTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono MonoRuntimeTests/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemNumericsXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono MicrosoftCSharpXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemCoreXunit Part 1/watchOS 32-bits - simulator/Debug: Crashed
  • mmptest/macOS/Debug: Failed (Execution failed with exit code 1)

@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
🔥 Test run failed 🔥

Test results

6 tests failed, 128 tests passed.

Failed tests

  • [NUnit] Mono SystemNumericsTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono MonoRuntimeTests/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemNumericsXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono MicrosoftCSharpXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemCoreXunit Part 1/watchOS 32-bits - simulator/Debug: Crashed
  • mmptest/macOS/Debug: Failed (Execution failed with exit code 1)

$(Q_DOTNET_GEN) \
$(SYSTEM_CSC) $(DOTNET_FLAGS) -out:$(WATCHOS_DOTNET_BUILD_DIR)/64/Xamarin.WatchOS.dll -optimize \
-publicsign -keyfile:$(PRODUCT_KEY_PATH) \
-refout:$(WATCHOS_DOTNET_BUILD_DIR)/ref/Xamarin.WatchOS.dll \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should pick up Rolf's PR to remove the dupe (from /32/)

@dalexsoto
Copy link
Member Author

Will cherry-pick once @rolfbjarne merges it into main

@spouliot
Copy link
Contributor

@dalexsoto main seems to have watchOS related failures, better hold on the backport until those are fixed

@dalexsoto dalexsoto added the do-not-merge Do not merge this pull request label Nov 23, 2020
@@ -91,19 +92,34 @@ define NativeCompilationTemplate
## watch simulator

.libs/watchsimulator/%$(1).x86.o: %.m $(EXTRA_DEPENDENCIES) | .libs/watchsimulator
$$(call Q_2,OBJC, [watchsimulator]) $(SIMULATOR_CC) $(SIMULATORWATCH_OBJC_CFLAGS) $$(EXTRA_DEFINES) $(SIMW_I) -g $(2) -c $$< -o $$@
$$(call Q_2,OBJC, [watchsimulator]) $(SIMULATOR_CC) $(SIMULATORWATCH_OBJC_CFLAGS) $$(EXTRA_DEFINES) $(SIMW_I) -g $(2) -c $$< -o $$@
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the space chang?

Copy link
Member

@mandel-macaque mandel-macaque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the addition of noise.

…bit variant of Xamarin.WatchOS.dll. (xamarin#10136)

* [src] Don't generate a reference assembly for both the 32-bit and 64-bit variant of Xamarin.WatchOS.dll.

We only need one version, and in any case the code would write both the same
file, causing corruption and random build problems later.

Fixes this problem while building .NET packages:

    /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/dotnet/package/common.csproj(75,5): error : Classification matches no files: Xamarin.WatchOS.dll [/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/dotnet/package/Microsoft.watchOS.Ref/package.csproj]
    make[1]: *** [nupkgs/Microsoft.watchOS.Ref.7.1.100-ci.main.35+sha.a4a1fea86.nupkg] Error 1

* Fix the make rule too so that it doesn't claim it can generate the reference assembly.
@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
🔥 Test run failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
🔥 Test run failed 🔥

Test results

5 tests failed, 129 tests passed.

Failed tests

  • [NUnit] Mono SystemNumericsTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono MonoRuntimeTests/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemNumericsXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono MicrosoftCSharpXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemCoreXunit Part 1/watchOS 32-bits - simulator/Debug: Crashed

@spouliot spouliot mentioned this pull request Nov 27, 2020
5 tasks
@dalexsoto
Copy link
Member Author

Moving to xcode12.3

@appsure
Copy link

appsure commented Dec 2, 2020

Any ETA on when this will all be included in the next VS release (preview or stable)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge Do not merge this pull request note-highlight Worth calling out specifically in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants