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 building x86 Windows native AOT runtime packs #100512

Merged
merged 1 commit into from
Apr 3, 2024

Conversation

MichalStrehovsky
Copy link
Member

Looks like we had a whole extra job definition just to avoid building the native AOT parts in the official build, so the x86 packages we produce are incomplete.

I'm in no rush getting this in, obviously the 1ES switchover is higher pri.

Cc @dotnet/ilc-contrib

Looks like we had a whole extra job definition just to avoid building the native AOT parts in the official build.
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

@MichalStrehovsky MichalStrehovsky merged commit 1c19033 into main Apr 3, 2024
147 of 152 checks passed
@MichalStrehovsky MichalStrehovsky deleted the MichalStrehovsky-patch-1 branch April 3, 2024 22:09
MichalStrehovsky added a commit that referenced this pull request Apr 4, 2024
#100512 caused an official build break by exposing a latent issue in how we build the managed artifacts. Official builds split managed and native builds for some reason. This is throwing off the heuristic that decides whether to use native AOT's corelib in build.

We were always using the native AOT's corelib in x64 and arm64 legs because of the thrown off heuristic. This apparently didn't cause an immediate problem there.

It causes a problem on x86 because crossgen2 is a trimmed+r2r+singlefile executable on x86 (and nowhere else) and ILLink execution doesn't like the layouts with `UseNativeAotCoreLib`.

Tweak the heuristic to not use native AOT corelib if we're building JIT corelib.
MichalStrehovsky added a commit that referenced this pull request Apr 4, 2024
#100512 caused an official build break by exposing a latent issue in how we build the managed artifacts. Official builds split managed and native builds for some reason. This is throwing off the heuristic that decides whether to use native AOT's corelib in build.

We were always using the native AOT's corelib in x64 and arm64 legs because of the thrown off heuristic. This apparently didn't cause an immediate problem there.

It causes a problem on x86 because crossgen2 is a trimmed+r2r+singlefile executable on x86 (and nowhere else) and ILLink execution doesn't like the layouts with `UseNativeAotCoreLib`.

Tweak the heuristic to not use native AOT corelib if we're building JIT corelib.
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
Looks like we had a whole extra job definition just to avoid building the native AOT parts in the official build.
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
dotnet#100512 caused an official build break by exposing a latent issue in how we build the managed artifacts. Official builds split managed and native builds for some reason. This is throwing off the heuristic that decides whether to use native AOT's corelib in build.

We were always using the native AOT's corelib in x64 and arm64 legs because of the thrown off heuristic. This apparently didn't cause an immediate problem there.

It causes a problem on x86 because crossgen2 is a trimmed+r2r+singlefile executable on x86 (and nowhere else) and ILLink execution doesn't like the layouts with `UseNativeAotCoreLib`.

Tweak the heuristic to not use native AOT corelib if we're building JIT corelib.
@github-actions github-actions bot locked and limited conversation to collaborators May 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants