Thanks to visit codestin.com
Credit goes to github.com

Skip to content

64 bit cross compilers targeting 32 bit platforms #9621

@marek-safar

Description

@marek-safar

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions