Skip to content

Commit

Permalink
Merge pull request #6100 from rolfbjarne/arm64_32-d16-2
Browse files Browse the repository at this point in the history
[d16-2] Implement support for ARM64_32. Fixes #4864.
  • Loading branch information
rolfbjarne authored May 23, 2019
2 parents a07ee9a + 67eb2bc commit 48430a7
Show file tree
Hide file tree
Showing 46 changed files with 602 additions and 164 deletions.
2 changes: 2 additions & 0 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,9 @@ SIMULATORWATCH_OBJC_CFLAGS = $(SIMULATORWATCH_CFLAGS) $(COMMON_SIMULATOR_OBJC_CF

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)
DEVICEWATCH_OBJC_CFLAGS = $(DEVICEWATCH_CFLAGS) $(DEVICE_OBJC_CFLAGS)
DEVICEWATCH64_32_OBJC_CFLAGS = $(DEVICEWATCH64_32_CFLAGS) $(DEVICE_OBJC_CFLAGS)

# TVOS

Expand Down
1 change: 1 addition & 0 deletions Versions-ios.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
<string>http-client-handlers</string>
<string>mono-symbol-archive</string>
<string>sgen-concurrent-gc</string>
<string>arm64_32</string>
</array>
<key>Optimizations</key>
<dict>
Expand Down
139 changes: 101 additions & 38 deletions builds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1301,55 +1301,101 @@ WATCHOS_BIN_PATH = $(XCODE_DEVELOPER_ROOT)/Toolchains/XcodeDefault.xctoolchain/u

ifdef INCLUDE_WATCH
ifdef INCLUDE_DEVICE
build:: build-targetwatch
clean-local:: clean-targetwatch
build:: build-targetwatch build-targetwatch64_32
clean-local:: clean-targetwatch clean-targetwatch64_32
install-local:: install-watchos
all-local:: install-watchos

targetwatch: build-targetwatch install-watchos
watchos:: targetwatch
targetwatch64_32: build-targetwatch64_32 install-watch64_32
watchos:: targetwatch targetwatch64_32

.PHONY: targetwatch
.PHONY: targetwatch targetwatch64_32

.stamp-build-targetwatch: $(MONO_PATH)/configure $(SDK_CONFIG) $(MONO_DEPENDENCIES)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targetwatch $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targetwatch
$(Q) $(CP) -r $(SDK_DESTDIR)/ios-targetwatch-release/* $(BUILD_DESTDIR)/targetwatch
$(Q) touch $@

.stamp-build-targetwatch64_32: $(MONO_PATH)/configure $(SDK_CONFIG) $(MONO_DEPENDENCIES)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targetwatch64_32 $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targetwatch64_32
$(Q) $(CP) -r $(SDK_DESTDIR)/ios-targetwatch64_32-release/* $(BUILD_DESTDIR)/targetwatch64_32
$(Q) touch $@

build-targetwatch: .stamp-build-targetwatch
build-targetwatch64_32: .stamp-build-targetwatch64_32

clean-targetwatch:
$(Q) rm -rf $(BUILD_DESTDIR)/targetwatch .stamp-*-targetwatch
$(MAKE) -C $(SDK_BUILDDIR) clean-ios-targetwatch $(SDK_ARGS)

setup-watchos: setup-targetwatch
build-watchos: build-targetwatch
clean-watchos: clean-targetwatch

WATCHOS_TARGET_LIBMONOSGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a
WATCHOS_TARGET_SHAREDMONOSGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib
WATCHOS_TARGET_LIBLOGPROFILER = $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log-static.a
WATCHOS_TARGET_LIBMONOEEINTERP = $(BUILD_DESTDIR)/targetwatch/lib/libmono-ee-interp.a
WATCHOS_TARGET_LIBMONOICALLTABLE = $(BUILD_DESTDIR)/targetwatch/lib/libmono-icall-table.a
WATCHOS_TARGET_LIBMONOILGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmono-ilgen.a
WATCHOS_TARGET_SHAREDLIBLOGPROFILER = $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib
WATCHOS_TARGET_LIBMONONATIVECOMPAT = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.a
WATCHOS_TARGET_LIBMONONATIVEUNIFIED = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.a
WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.dylib
WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib

$(WATCHOS_TARGET_LIBMONOSGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDMONOSGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBLOGPROFILER): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOEEINTERP): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOICALLTABLE): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOILGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBLOGPROFILER): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONONATIVECOMPAT): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONONATIVEUNIFIED): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED): .stamp-build-targetwatch
clean-targetwatch64_32:
$(Q) rm -rf $(BUILD_DESTDIR)/targetwatch64_32 .stamp-*-targetwatch64_32
$(MAKE) -C $(SDK_BUILDDIR) clean-ios-targetwatch64_32 $(SDK_ARGS)

setup-watchos: setup-targetwatch setup-targetwatch64_32
build-watchos: build-targetwatch build-targetwatch64_32
clean-watchos: clean-targetwatch clean-targetwatch64_32

WATCHOS_TARGET_LIBMONOSGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.a

WATCHOS_TARGET_SHAREDMONOSGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.dylib

WATCHOS_TARGET_LIBLOGPROFILER = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log-static.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log-static.a

WATCHOS_TARGET_LIBMONOEEINTERP = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-ee-interp.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-ee-interp.a

WATCHOS_TARGET_LIBMONOICALLTABLE = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-icall-table.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-icall-table.a

WATCHOS_TARGET_LIBMONOILGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-ilgen.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-ilgen.a

WATCHOS_TARGET_SHAREDLIBLOGPROFILER = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log.0.dylib

WATCHOS_TARGET_LIBMONONATIVECOMPAT = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.a \

WATCHOS_TARGET_LIBMONONATIVEUNIFIED = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.a \

WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.dylib \

WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.dylib \

WATCHOS_TARGET_MONOFRAMEWORK = \
$(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono \
$(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/Mono

$(WATCHOS_TARGET_LIBMONOSGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDMONOSGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBLOGPROFILER): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOEEINTERP): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOICALLTABLE): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOILGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBLOGPROFILER): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONONATIVECOMPAT): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONONATIVEUNIFIED): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED): .stamp-build-targetwatch .stamp-build-targetwatch64_32

device:: watchos

Expand All @@ -1376,7 +1422,9 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmonosgen-2.0.a: $(WATCHOS_TARGET
$(Q) $(WATCHOS_BIN_PATH)/lipo $(WATCHOS_TARGET_LIBMONOSGEN) -create -output $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmonosgen-2.0.dylib: $(WATCHOS_TARGET_SHAREDMONOSGEN) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDMONOSGEN) -m -o $@
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmonosgen-2.0.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmonosgen-2.0.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmonosgen-2.0.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmonosgen-2.0.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $@
$(Q) dsymutil -t 4 -o $@.dSYM $@

Expand All @@ -1393,8 +1441,13 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-ilgen.a: $(WATCHOS_TARGET_L
$(Q) $(WATCHOS_BIN_PATH)/lipo $(WATCHOS_TARGET_LIBMONOILGEN) -create -output $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-profiler-log.dylib: $(WATCHOS_TARGET_SHAREDLIBLOGPROFILER) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDLIBLOGPROFILER) -m -o $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-profiler-log.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $@
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-profiler-log.0.dylib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-profiler-log.0.dylib
$(Q) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-profiler-log.0.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-profiler-log.0.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-profiler-log.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
$@
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-compat.a: $(WATCHOS_TARGET_LIBMONONATIVECOMPAT) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
Expand All @@ -1409,15 +1462,22 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-compat.dylib: $(WATC
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-unified.dylib: $(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED) -m -o $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-native-unified.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmono-native-unified.dylib @rpath/libmono-native-unified.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $@
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-native-unified.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-native.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-native-unified.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-native.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmono-native.dylib @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmono-native-unified.dylib @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
$@
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(WATCHOS_DIRECTORIES):
$(Q) mkdir -p $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Mono: $(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
$(Q) $(CP) $< $@
$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Mono: $(WATCHOS_TARGET_MONOFRAMEWORK) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
$(Q) lipo $(WATCHOS_TARGET_MONOFRAMEWORK) -create -output $@
$(Q) dsymutil -t 4 -o $(patsubst %/,%,$(dir $@)).dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Info.plist: Mono.framework-watchos.Info.plist | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
Expand All @@ -1426,6 +1486,9 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Info.plist: Mono.
$(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono: $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a
$(Q_GEN) CC="$(IOS_CC)" ./create-shared-library.sh $< $@ -arch armv7k -install_name @rpath/Mono.framework/Mono -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) -lc++ -fembed-bitcode

$(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/Mono: $(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.a
$(Q_GEN) CC="$(IOS_CC)" ./create-shared-library.sh $< $@ -arch arm64_32 -install_name @rpath/Mono.framework/Mono -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) -lc++ -fembed-bitcode

install-watchos: $(WATCHOS_TARGETS)

endif # INCLUDE_DEVICE
Expand Down
2 changes: 1 addition & 1 deletion external/mono
Submodule mono updated 45 files
+2 −0 .gitignore
+1 −1 external/corefx
+2 −0 mcs/build/platforms/win32.make
+4 −0 mcs/build/profiles/monodroid.make
+2 −0 mcs/class/Mono.Security/win32_monodroid_Mono.Security_test.dll.exclude.sources
+11 −0 ....ComponentModel.Composition.4.5/win32_monodroid_System.ComponentModel.Composition_xtest.dll.exclude.sources
+209 −39 mcs/class/System.Core/System.Core.csproj
+3 −0 mcs/class/System.Core/win32_monodroid_System.Core.dll.exclude.sources
+56 −0 mcs/class/System.Core/win32_monodroid_System.Core.dll.sources
+1 −0 mcs/class/System.Core/win32_monodroid_System.Core_test.dll.exclude.sources
+37 −0 mcs/class/System.IdentityModel/win32_monodroid_System.IdentityModel_test.dll.exclude.sources
+1 −0 mcs/class/System.Runtime.Serialization/win32_monodroid_System.Runtime.Serialization_xtest.dll.exclude.sources
+1 −0 mcs/class/System.Security/win32_monodroid_System.Security_test.dll.exclude.sources
+148 −0 mcs/class/System.ServiceModel/win32_monodroid_System.ServiceModel_test.dll.exclude.sources
+7 −0 mcs/class/System.Web.Services/win32_monodroid_System.Web.Services_test.dll.exclude.sources
+2 −2 mcs/class/System/Mono.Net.Security/SystemCertificateValidator.cs
+1 −1 mcs/class/System/System.Diagnostics/TraceImpl.cs
+545 −135 mcs/class/System/System.csproj
+1 −1 mcs/class/System/System/MonoToolsLocator.cs
+9 −0 mcs/class/System/mono_fsw.sources
+1 −11 mcs/class/System/net_4_x_System.dll.sources
+5 −0 mcs/class/System/win32_monodroid_System.dll.exclude.sources
+25 −0 mcs/class/System/win32_monodroid_System.dll.sources
+81 −0 mcs/class/System/win32_monodroid_System_test.dll.exclude.sources
+20 −0 mcs/class/System/win32_monodroid_System_xtest.dll.exclude.sources
+1 −1 mcs/class/corlib/System/Console.cs
+1 −1 mcs/class/corlib/System/Environment.cs
+1 −1 mcs/class/corlib/System/TimeZoneInfo.cs
+336 −67 mcs/class/corlib/corlib.csproj
+28 −0 mcs/class/corlib/win32_monodroid_corlib.dll.exclude.sources
+67 −0 mcs/class/corlib/win32_monodroid_corlib.dll.sources
+52 −0 mcs/class/corlib/win32_monodroid_corlib_test.dll.exclude.sources
+1 −1 mcs/class/referencesource/System/net/System/Net/webproxy.cs
+1 −1 mcs/class/referencesource/mscorlib/system/threading/synchronizationcontext.cs
+8 −0 mono/mini/builtin-types.cs
+5 −0 mono/mini/interp/transform.c
+1 −13 mono/mini/mini-arm.c
+9 −0 scripts/ci/pipeline/sdks-archive.groovy
+6 −3 scripts/ci/run-jenkins.sh
+33 −3 sdks/builds/Makefile
+123 −6 sdks/builds/android.mk
+3 −2 sdks/builds/bcl.mk
+19 −0 sdks/builds/llvm.mk
+6 −1 sdks/builds/mxe.mk
+107 −0 sdks/builds/runtime.mk
13 changes: 13 additions & 0 deletions mk/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ DEV64_I := $(COMMON_I)

SIMW_I := $(COMMON_I)
DEVW_I := $(COMMON_I)
DEVW64_32_I := $(COMMON_I)

SIM_TV_I:= $(COMMON_I)
DEV_TV_I:= $(COMMON_I)
Expand Down Expand Up @@ -117,6 +118,18 @@ define NativeCompilationTemplate
.libs/watchos/%$(1).armv7k.framework: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -F$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks -fapplication-extension

.libs/watchos/%$(1).arm64_32.o: %.m $(EXTRA_DEPENDENCIES) | .libs/watchos
$$(call Q_2,OBJC, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_OBJC_CFLAGS) $$(EXTRA_DEFINES) $(DEVW64_32_I) -g $(2) -c $$< -o $$@

.libs/watchos/%$(1).arm64_32.o: %.c $(EXTRA_DEPENDENCIES) | .libs/watchos
$$(call Q_2,CC, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_DEFINES) $(DEVW64_32_I) -g $(2) -c $$< -o $$@

.libs/watchos/%$(1).arm64_32.dylib: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -L$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib -fapplication-extension

.libs/watchos/%$(1).arm64_32.framework: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -F$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks -fapplication-extension

## tv simulator

.libs/tvos/%$(1).x86_64.o: %.m $(EXTRA_DEPENDENCIES) | .libs/tvos
Expand Down
4 changes: 4 additions & 0 deletions msbuild/Xamarin.iOS.Tasks.Core/Tasks/MTouchTaskBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ enum TargetArchitecture
ARMv7s = 16,
ARMv7k = 32,
ARM64 = 64,
ARM64_32 = 128,

// Note: needed for backwards compatability
ARMv6_ARMv7 = ARMv6 | ARMv7,
Expand Down Expand Up @@ -486,6 +487,9 @@ protected override string GenerateCommandLineCommands ()
if (architectures.HasFlag (TargetArchitecture.ARMv7k))
abi += (abi.Length > 0 ? "," : "") + "armv7k" + llvm;

if (architectures.HasFlag (TargetArchitecture.ARM64_32))
abi += (abi.Length > 0 ? "," : "") + "arm64_32" + llvm;

if (string.IsNullOrEmpty (abi))
abi = "armv7" + llvm + thumb;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved.

<!-- Enable nuget package conflict resolution -->
<ResolveAssemblyConflicts>true</ResolveAssemblyConflicts>
<UseFakeWatchOS4_3Sdk Condition="'$(UseFakeWatchOS4_3Sdk)' == ''">True</UseFakeWatchOS4_3Sdk>
<UseFakeWatchOS4_3Sdk Condition="'$(UseFakeWatchOS4_3Sdk)' == ''">False</UseFakeWatchOS4_3Sdk>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)..\iOS\Xamarin.iOS.Common.targets" />
Expand Down
9 changes: 8 additions & 1 deletion runtime/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ $(eval $(call PlatformTemplate,ios,IOS,armv7 armv7s arm64,x86 x86_64,IOS,IPHONE)
endif

ifdef INCLUDE_WATCH
$(eval $(call PlatformTemplate,watchos,WATCHOS,armv7k,x86,WATCH,WATCH))
$(eval $(call PlatformTemplate,watchos,WATCHOS,armv7k arm64_32,x86,WATCH,WATCH))
endif

ifdef INCLUDE_TVOS
Expand Down Expand Up @@ -333,6 +333,7 @@ armv7_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7.o,$$($(2)_SOURCE_
armv7s_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7s.o,$$($(2)_SOURCE_STEMS))
armv7k_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7k.o,$$($(2)_SOURCE_STEMS))
arm64_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).arm64.o,$$($(2)_SOURCE_STEMS))
arm64_32_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).arm64_32.o,$$($(2)_SOURCE_STEMS))

$$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(1),$(2),$(3),$(4),$$(arch))))

Expand All @@ -358,6 +359,9 @@ $$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(
.libs/$(1)/libxamarin$(4).armv7k.dylib: EXTRA_FLAGS=$$($(1)$(3)_COMMON_DYLIB_FLAGS)
.libs/$(1)/libxamarin$(4).armv7k.dylib: $$(armv7k_$(1)$(3)_OBJECTS)

.libs/$(1)/libxamarin$(4).arm64_32.dylib: EXTRA_FLAGS=$$($(1)$(3)_COMMON_DYLIB_FLAGS)
.libs/$(1)/libxamarin$(4).arm64_32.dylib: $$(arm64_32_$(1)$(3)_OBJECTS)

.libs/$(1)/Xamarin$(4).x86.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).x86.framework: $$(x86_$(1)$(3)_OBJECTS)

Expand All @@ -375,6 +379,9 @@ $$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(

.libs/$(1)/Xamarin$(4).armv7k.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).armv7k.framework: $$(armv7k_$(1)$(3)_OBJECTS)

.libs/$(1)/Xamarin$(4).arm64_32.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).arm64_32.framework: $$(arm64_32_$(1)$(3)_OBJECTS)
endef

$(eval $(call LibXamarinTemplate,ios,IOS))
Expand Down
2 changes: 1 addition & 1 deletion runtime/bindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ struct MPSImageHistogramInfoWrapper {
// entire struct on a 16-byte boundary, which doesn't match how we've
// defined it in managed code (explicit layout, but no specific alignment).
// So we need to manually pad the struct to match the managed definition.
#if defined (__x86_64__) || defined (__arm64__)
#if !defined(__ILP32__)
uint8_t dummy[7];
#else
uint8_t dummy[11];
Expand Down
Loading

4 comments on commit 48430a7

@xamarin-release-manager
Copy link
Collaborator

@xamarin-release-manager xamarin-release-manager commented on 48430a7 May 23, 2019

Choose a reason for hiding this comment

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

Build was (probably) aborted

🔥 Jenkins job (on internal Jenkins) failed in stage(s) 'Test run, Test run' 🔥

Build succeeded
✅ Packages: xamarin.ios-12.14.0.82.pkg xamarin.mac-5.14.0.82.pkg
API Diff (from stable)
API Diff (from PR only) (no change)
ℹ️ Generator Diff (please review changes)
🔥 Test run failed 🔥

Test results

4 tests failed, 1348 tests' device not found, 238 tests passed.

Failed tests

  • monotouch-test/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemDataTests/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono CorlibXunit/watchOS 32-bits - simulator/Debug: Crashed
  • introspection/watchOS 32-bits - simulator/Debug (watchOS 2.0): Crashed

Failure analysis

Final verdict: 🤥 (gred)

@xamarin-release-manager
Copy link
Collaborator

@xamarin-release-manager xamarin-release-manager commented on 48430a7 May 23, 2019

Choose a reason for hiding this comment

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

🔥 Device tests completed (Failed) on iOS on Azure DevOps(iOS): Html Report 🔥

Test results

3 tests failed, 36 tests' device not found, 190 tests passed.

Failed tests

  • framework-test/iOS Unified 64-bits - device/AssemblyBuildTarget: dylib (debug): TimedOut
  • link all/iOS Unified 64-bits - device/Release: Failed
  • [NUnit] Mono BCL tests group 2/iOS Unified 64-bits - device/AssemblyBuildTarget: dylib (debug): Failed

Failure analysis

Final verdict: 🤥 (gred)

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

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

✅ Device tests passed on TvOS on Azure DevOps(TvOS): Html Report

Test results

37 tests' device not found, 193 tests passed.

@rolfbjarne
Copy link
Member Author

Choose a reason for hiding this comment

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

Setting state to success for all statuses.

Only 🤥 (gred) issues found.

Please sign in to comment.