Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ARM64-based CPU detection logic; take #3. #5683

Merged
merged 1 commit into from
Feb 28, 2019

Conversation

rolfbjarne
Copy link
Member

The previous implementation was broken, because:

  • We called GetIsARM64CallingConvention in Runtime's static constructor.
  • Runtime.Arch hadn't been set yet in the static constructor, which means it
    was Arch.DEVICE (0).
  • This meant GetIsARM64CallingConvention would return true on iOS/tvOS x86-64
    simulator.

So delay the initialization of the IsARM64CallingConvention field until we've
been initialized.

The previous implementation was broken, because:

* We called GetIsARM64CallingConvention in Runtime's static constructor.
* Runtime.Arch hadn't been set yet in the static constructor, which means it
  was Arch.DEVICE (0).
* This meant GetIsARM64CallingConvention would return true on iOS/tvOS x86-64
  simulator.

So delay the initialization of the IsARM64CallingConvention field until we've
been initialized.
@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 succeeded

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.

Did that fail an existing* unit test ? or did you found it in another way/failure ?

  • If not then maybe one should be added

@rolfbjarne
Copy link
Member Author

Did that fail an existing* unit test ?

Kind of: monotouch-test started crashing when I put the previous fix in the branch with my other arm64_32 changes (PR #5465).

@rolfbjarne
Copy link
Member Author

API diff failure is due to https://github.com/xamarin/maccore/issues/1452

@rolfbjarne rolfbjarne merged commit 564628a into xamarin:master Feb 28, 2019
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.

3 participants