-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
We'll have to come up with a solution to update Mono cross-compilers to handle the bitness difference, i.e. generate 32bits code from a 64bits process.
The main motivation is because Apple is planning to remove 32bits support from macOS.
This affects Xamarin.iOS tooling since the current Mono AOT cross-compiler needs to be an 32bits executable to produce 32bits code, e.g. ARMv7[s][k]. This is a problem because we’ll still require 32bits support for watchOS and iOS. The similar situation could happen with Android.
Apple confirmed that macOS 10.15 will not ship with 32bits slices of any system libraries. Running the watchOS simulator (and likely old iOS ones) will work since it is (or will be) shipped as a self-contained package (the 32bits libraries won’t be for macOS).
Milestone I
- Update Mono sources where needed to have the configurable target size
- Check the output binary is same when cross compiling as with 32 bits
Milestone II
- Produce cross compiler output as part of SDK target for iOS
- Produce cross compiler output as part of SDK target for Android
Milestone III
- Figure out Xamarin.iOS integration
- Figure out Xamarin.Android integration
- switch to python offset tool.