Skip to content

Conversation

@rolfbjarne
Copy link
Member

@rolfbjarne rolfbjarne commented May 10, 2019

This PR is best reviewed commit-by-commit.

Fixes #4864.

rolfbjarne and others added 20 commits May 10, 2019 08:28
The varargs dynamic is not even close to correct for arm64_32, but it's still
better than failing to compile the runtime.

A proper dynamic registrar for arm64_32 is much more complicated, in
particular because we can't use assembly code, so it will have to be
implemented later.
New commits in mono/mono:

* mono/mono@7814ea810cf [sdks] Make sure the mono-version.txt directory exists
* mono/mono@f9cdf7b9866 Bump helix-binaries
* mono/mono@238d4a71db5 A deadlock happens when during a process_suspend there is a pending invoke and then when it's calling the invoke there is another call to process_suspend in the same thread. (dotnet#14387)
* mono/mono@189b0c5c35b [sdks] Add Mono version to ios/mac archive
* mono/mono@ff46d6e49ea [sdks] Fix wrong path
* mono/mono@2397d41abfb [sdks] Add Mono binaries to mac archive

Diff: https://github.com/mono/mono/compare/bc3791b0ffb077da0f415f70b401c2d086b8d821..7814ea810cfd6e54be962562da5c1118c7a6a4f2
New commits in mono/mono:

* mono/mono@7361a4f01c7 [llvmonly] make local copy of trace_ips pointer from exception object (dotnet#14409)
* mono/mono@7daf13e0d44 [2019-02] [runtime] Use MAP_JIT automatically when running under a hardened runtime on osx. (dotnet#14413)
* mono/mono@ca78977b319 [sdks] Add .cs source files to ios archive

Diff: https://github.com/mono/mono/compare/7814ea810cfd6e54be962562da5c1118c7a6a4f2..7361a4f01c77f0d643f3e4b6d1bc58a7ced9289c
ARM64_32 only supports the unified native mode.
New commits in mono/mono:

* mono/mono@f1aa58d9a90 [2019-02] Do not allocate handles in ReleaseMutex. (dotnet#14428)
* mono/mono@382c836e7fb Mutex memory leak on sgen GC (nursery, major).
* mono/mono@6ab15f25295 Usually do not create a handle in mono_runtime_invoke_handle. (dotnet#14423)

Diff: https://github.com/mono/mono/compare/7361a4f01c77f0d643f3e4b6d1bc58a7ced9289c..f1aa58d9a90007cfb85bf393b5e61fac639be60a
@monojenkins

This comment has been minimized.

@rolfbjarne rolfbjarne changed the title Implement support for ARM64_32. Implement support for ARM64_32. Fixes #4864. May 10, 2019
@spouliot
Copy link
Contributor

  • Enable the varargs dynamic trampolines for arm64_32.

Mentioned as not fully functional. Is there an open issue for it ?

Copy link
Contributor

@spouliot spouliot left a comment

Choose a reason for hiding this comment

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

Also the branch (being merged) fixes the 2 watchOS submission tests
https://gist.github.com/spouliot/2e12f409e0722d42bf30749069daae75

@spouliot spouliot mentioned this pull request May 10, 2019
5 tasks
@rolfbjarne
Copy link
Member Author

  • Enable the varargs dynamic trampolines for arm64_32.

Mentioned as not fully functional. Is there an open issue for it ?

#6041

@monojenkins

This comment has been minimized.

…s enabled.

We don't want to try to run arm64_32 tests on bots that don't have devices
attached, so make sure they follow the logic of other device tests.
@monojenkins

This comment has been minimized.

@monojenkins

This comment has been minimized.

* Choose the first hostname for the HttpTextWriter if there are multiple hosts.
* Open the HttpTextWriter before writing to it.
* Don't overwrite the http writer with another writer immediately after creating it.
* Close the HttpTextWriter when done writing.
* Wait for the HttpTextWriter to complete the final http request before exiting.
New commits in mono/mono:

* mono/mono@1ce13bb09d4 [arm] one more attempt to fix slotsize issue on llvmonly (dotnet#14444) (dotnet#14535)
* mono/mono@bb3c9db4976 [2019-02] [monodroid] Introduce 'win32 host' BCL build (dotnet#14504)
* mono/mono@ca17767758c [sdks] Set PATH in Android Windows SDK pipeline job (dotnet#14519)
* mono/mono@1cb80e7ecfc [sdks] Set win-amd64 CI_TAGS for windows pipeline step (dotnet#14516)
* mono/mono@c857c27d2e5 [2019-02][sdks] Build Android SDK on Windows (dotnet#14472)
* mono/mono@ab378434b96 [2019-02][ci] Add Android Windows (Release) archive job to pipeline (dotnet#14503)
* mono/mono@06c3f553122 [sdks] Lipo arm64_32 binaries for watchOS
* mono/mono@0f69e271534 [sdks] Use -pathmap CSC option for iOS/Mac
* mono/mono@69fae70242e [WinForms] Related Forms closing issue (dotnet#13717)
* mono/mono@4fa246df3f9 [2019-02] [WinForms] fix EditingCellFormattedValue getter and setter for bool value (dotnet#14437)
* mono/mono@a55d1c93771 [2019-02] TextInfo.ChangeCase should not use CultureInfo.CurrentCulture (dotnet#14438)
* mono/mono@b41578079ec [2019-02] Revert "[System] Add FSEvent FileSystemWatcher to monotouch BCL profile" (dotnet#14448)
* mono/mono@09429597dcb [metadata] use handle stack in mono_runtime_object_init_handle (dotnet#14445)
* mono/mono@77ddc3abc18 [arm64] set MONO_ARCH_HAVE_UNWIND_BACKTRACE for watch4 (dotnet#14452)

Diff: https://github.com/mono/mono/compare/f1aa58d9a90007cfb85bf393b5e61fac639be60a..1ce13bb09d464e7ffefbd0072b2d95669d080732
@monojenkins

This comment has been minimized.

@monojenkins

This comment has been minimized.

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
🔥 Failed to compare API and create generator diff 🔥
    Failed to update apidiff references
    Search for Comparing API & creating generator diff in the log to view the complete log.
🔥 Test run failed 🔥

Test results

4 tests failed, 0 tests' device not found, 166 tests passed.

Failed tests

  • [xUnit] Mono BCL tests group 5/iOS Unified 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemSecurityXunit/watchOS 32-bits - simulator/Debug: Crashed
  • MSBuild tests/iOS: Failed (Execution failed with exit code 1)
  • MTouch tests/NUnit: Failed (Execution failed with exit code 1)

@rolfbjarne
Copy link
Member Author

rolfbjarne commented May 21, 2019

@rolfbjarne rolfbjarne merged commit 14510d3 into dotnet:master May 22, 2019
@rolfbjarne
Copy link
Member Author

@monojenkins backport d16-2

@monojenkins
Copy link
Collaborator

@rolfbjarne backporting to d16-2 failed, the patch results in conflicts:

Applying: Add an 'arm64_32' capability.
Applying: [mtouch] Add support for arm64_32
Applying: [build/runtime] Add build rules for arm64_32
Using index info to reconstruct a base tree...
M	Make.config
M	builds/Makefile
M	mk/rules.mk
M	runtime/Makefile
Falling back to patching base and 3-way merge...
Auto-merging runtime/Makefile
CONFLICT (content): Merge conflict in runtime/Makefile
Auto-merging mk/rules.mk
Auto-merging builds/Makefile
Auto-merging Make.config
error: Failed to merge in the changes.
Patch failed at 0003 [build/runtime] Add build rules for arm64_32

Please backport manually!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[watchos] Can't deploy with ARMv7k architecture on Series 4

5 participants