[watch] add build rules for arm64_32 based on 2018-08-watchos branch - #5465
[watch] add build rules for arm64_32 based on 2018-08-watchos branch#5465lewurm wants to merge 30 commits into
Conversation
Commit list for mono/mono: * mono/mono@b6c818b204d [arm64_32] use emulate OPs so it works with bitcode compiled code for armv7k (dotnet#12443) * mono/mono@204f917c972 [sdks] Add a XCODE32_DIR make variable and use it to compile the 32 bit cross compilers. (dotnet#12055) * mono/mono@70a207adaa7 [ios] initial watch64_32 support (dotnet#11691) * mono/mono@287b5598f93 [mini] rename s/__mono_ilp32__/MONO_ARCH_ILP32 (dotnet#11652) * mono/mono@9939c1a6560 [System]Fix race condition in `SystemDependencyProvider.Initialize()`. dotnet#12538. * mono/mono@b0c4390d608 [runtime] Don't probe aot cache on android * mono/mono@725ba2a2523 Fix mono/mono#12461. * mono/mono@1dee62626d4 [2018-08 Android,AOT] Support dumping AOT offsets with Android NDK r17+ (dotnet#12454) (dotnet#12465) * mono/mono@146c8191fb2 [x86] Set the LLVM data layout. * mono/mono@5d3077c7bcb [arm] Set the LLVM data layout, without it, opt seems to make incorrect optimizations. * mono/mono@5266e6a8f10 [2018-08][debugger][backport] Fix crash when there is a generic struct with a field that is an enumerator (dotnet#12410) * mono/mono@0d988bc696e Bump API snapshot submodule * mono/mono@e6285d015b9 Bump corefx Diff: mono/mono@51c4f45...b6c818b
|
do not merge, until decided in which branch it should end up |
|
Build failure 🔥 Build failed 🔥 |
Since we now have support for ARM64_32.
|
Build failure 🔥 Build failed 🔥 |
|
Build failure 🔥 Build failed 🔥 |
|
Build failure 🔥 Build failed 🔥 |
Commit list for mono/mono: * mono/mono@b1921c26355 Merge remote-tracking branch 'origin/2018-08' into 2018-08-watchos * mono/mono@29eb176dd97 Bump bockbuild for GTK fix * mono/mono@45e519e9dfd use for loop to access item values and avoid InvalidCastException which occurs because VirtualDirectoryMappingCollection enumerator returns key and it's not expected * mono/mono@de14ec6c78e [2018-08] Add more detailed reporting for exceptions (dotnet#13012) * mono/mono@b0416692580 [ci] Bump bockbuild to get fontconfig download url fix * mono/mono@d2e33f5f5c7 [2018-08] [interp] Add method to seq_points table after we finish registering it (dotnet#12906) * mono/mono@32f1873983d [interp] Fix ldelema (dotnet#12930) * mono/mono@7f8afd40072 [arm/bitcode] mark valuetype returns as such when dealing with pinvokes (dotnet#12931) * mono/mono@f59b876a816 Merge remote-tracking branch 'origin/2018-08' into 2018-08-watchos * mono/mono@bbf2394619a [ci] Support building the OSX .pkg on private Jenkins * mono/mono@98810acba19 [runtime] Fix building older runtimes with newer system Mono (dotnet#12574) * mono/mono@d946a250793 [2018-08] [runtime] Fix mono_pe_file_map logging (dotnet#12897) * mono/mono@4d2b7f8b01b Merge pull request dotnet#12858 from monojenkins/backport-pr-12856-to-2018-08 * mono/mono@89fe6abeef7 [arm64] encode offset within stack slot for r4 in gsharedvt descriptor (dotnet#12885) * mono/mono@9d21a2bb159 [Registry] Prevent crash due to background thread facing problems in the file system * mono/mono@163f45d81ce [corlib] Fix GetFrames_AsyncCalls test not to block * mono/mono@208d5a5f1b2 Avoid recursive extracting redundant frames from captured traces. * mono/mono@bcc1b83e822 Add back missing stack frames to mono MERP reports (dotnet#12741) * mono/mono@7a3ce9849ff Bump corert * mono/mono@13204572a40 [arm/ios] workaround for faulty vcmp.f64 insn * mono/mono@2359cba40e9 [coop] Fix deadlock when unwinding * mono/mono@a4956c837e1 [2018-08] Native Crash Stability Fix Batch (dotnet#12565) * mono/mono@d4d4fb79878 [eglib]Fix memory leak in `g_find_program_in_path()`. dotnet#11615. Diff: mono/mono@b6c818b...b1921c2
|
Build failure 🔥 Build failed 🔥 |
…R build" This reverts commit 479575b.
|
Build failure 🔥 Build failed 🔥 |
|
build |
|
Build failure Test results41 tests failed, 0 tests skipped, 311 tests passed.Failed tests
|
|
Build failure Test results3 tests failed, 0 tests skipped, 349 tests passed.Failed tests
|
This also means updating the whitelisted symbols.
|
Build failure Test results3 tests failed, 0 tests skipped, 349 tests passed.Failed tests
|
Newer SDKs set this instead of LC_VERSION_MIN_*
|
Build failure Test results2 tests failed, 0 tests skipped, 350 tests passed.Failed tests
|
|
Build failure ✅ Build succeeded |
|
|
||
| DEVICEWATCH_SDK = $(XCODE_DEVELOPER_ROOT)/Platforms/WatchOS.platform/Developer/SDKs/WatchOS$(WATCH_SDK_VERSION).sdk | ||
| DEVICEWATCH_CFLAGS = -arch armv7k -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES) | ||
| DEVICEWATCH64_32_CFLAGS = -arch arm64_32 -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES) |
There was a problem hiding this comment.
arm64_32 watch needs a different min version. Here we pass $(MIN_WATCHOS_SDK_VERSION) which is 2.0, and I think the tooling will "force upgrade" it to 5.0. Afaik the first public arm64_32 watchOS was 5.1, that's why we choose that value in the mono SDK: https://github.com/mono/mono/blob/5232408f7ad6edd95429769970d314c741e442e1/sdks/versions.mk#L43
Note: This is merely needed to avoid warnings like those:
warning MT5203 : Native linking warning : warning: object file (/Library/Frameworks/Xamarin.iOS.framework/Versions/12.6.0.59/SDKs/Xamarin.WatchOS.sdk/usr/lib/libmonosgen-2.0.a(libmonoutils_la-mono-time.o)) was built for newer watchOS version (5.1) than being linked (5.0)
|
Superseded by #6040. |
NOTE: tested with this hacky patch for xharness: https://gist.github.com/lewurm/b4243bad2b4407bdd7f056bbdbeafd5b
Verified by running mini regression suite. It's green 🙂
Context: mono/mono#10641