-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 bad configure tests that breaks homebrew/clang #42737
Conversation
The clang script that's included with homebrew gets confused with the -c flag and returns a wrong result for some configure tests. The -c flag is not needed for this check. See dotnet/source-build#1744 (comment) and dotnet/source-build#1744 (comment) for more details.
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.
LGTM, thank you!
There seems to be an unexpected problem with this change. The ARM/ARM64 test legs for coreclr and libraries are failing in huge amount of tests with an assert in gcinfo and looking at the test failure history, it seems it was not happening before. |
Looking at the output of the configure step, there is a difference for arm now:
I'll run the cross build for arm locally to check why those checks are failing, as they should succeed. |
I've found the problem. On arm and arm64, the check_c_source_compiles fails to link the resulting executable due to some missing symbols that the methods we check for call (they are likely implemented in the header files for arm/arm64). I have forgotten that check_c_source_compiles also links and not just compiles. The problem with fixing that though is that for the case when we use our copy of libunwind, we do not have the library at the configure time to pass to the linker, hence we have a chicken and egg problem. |
Thanks for digging into this!
Shall I close this PR then? |
I will close it. |
I feel like I've come to a dead-end here as I can't find the "new PR with that fix". Can you please link me to it? |
The clang script that's included with homebrew gets confused with the -c flag and returns a wrong result for some configure tests. The -c flag is not needed for this check.
See dotnet/source-build#1744 (comment) and dotnet/source-build#1744 (comment) for more details.
@janvorli found the bug and came up with the fix. I am just trying to get it merged here.