-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[armv7] Fix static-vtable-stubs test for 32-bit platforms #70929
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
Conversation
…ootstrapping mode on Unix platforms
The 32 bit looks fine to me. We can disable again if it turns out our internal bots dislike it. I don't feel qualified to judge the CMake change. Maybe the CMake change should be a separate PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test fix LGTM. I don't have much to say about the test (it was a regression from my test infrastructure fix).
Thanks for reviewing the test fix, guys, once @bnbarham or some other CMake adept reviews that change, we can get this in. Can someone run the CI in the meantime? |
Sorry I don't really understand how it fails. This block only sets |
preset=stdlib_RA_standalone,build |
Here is the exact error:
Obviously, once this CMake fix checks if the host tools are not being built, the bootstrapping mode is kept to its default of "off" and the stdlib CMake block is avoided altogether.
The linux CI preset attempted appears to be broken, as it doesn't pass in a prebuilt toolchain. |
@kateinoigakukun, would you run the CI here? |
@swift-ci Please smoke test |
@rintaro, passed CI and test was reviewed, just needs approval on the CMake fix and this can go in. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, CMAKE_Swift_COMPILER
is apparently not set in this scenario. I'm still not sure this is the correct fix, but I understand this resolves the current issue.
@rintaro, couple different ways to fix this, this was the easiest. I thought about fixing it in @cachemeifyoucan, let us know if this causes any problems on the other 32-bit CI. |
@aschwaighofer, what do you think of the test fix? It fixed the last remaining broken test on the community CI for Android armv7, when I tried it locally. Maybe @cachemeifyoucan can check if it fixes the other internal 32-bit CI that he disabled too, that I re-enabled here.
Also, fix an issue with building a standalone stdlib on linux, as that's how I ran this test. @bnbarham, building a standalone stdlib has been broken on linux since late last year, as this CMake portion sets the bootstrap mode to
HOSTTOOLS
, which then triggers this stdlib CMake block that fails because the compiler isn't being built for a standalone stdlib.Instead, the
SWIFT_INCLUDE_TOOLS
check I added here makes sureBOOTSTRAPPING_MODE
is kept at its default ofOFF
, getting the standalone stdlib build working again. The standalone stdlib CI preset didn't catch this linux issue because it only runs on macOS.