[release/7.0-rc1] Don't NativeAOT crossgen on ARM64 #74221
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #74211 to release/7.0-rc1
/cc @MichalStrehovsky
Customer Impact
NativeAOT-compiled Crossgen2 on ARM64 is currently crashes a lot (#72645). We know it will likely crash on top of CoreCLR because we've seen those crashes (there are at least 3 other issues on those), but likely a lot less often based on available data.
This switches crossgen to be CoreCLR-hosted. We ship in this configuration on Mac and x86 Windows.
Testing
Crossgen2 testing that we have runs on top of the runtime that was used to build the repo. This is Preview 7 right now. We don't have testing for the configuration that actually ships (live built CoreCLR or live built NativeAOT). We assume VM bugs would be caught in VM testing and crossgen2 is simply a managed tool like any other. We have #71557 tracking to at least use LKG of NativeAOT instead of LKG of the CoreCLR VM. We would see that it crashes more often there.
Risk
We ship in this configuration in other platforms.