-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
LLVM artifacts with/without asserts have different ABIBreakingChecks #39433
Comments
That seems intentional, since it literally is warning you that the ABI is incompatible? (the layout of some critical objects changes) |
It wasn't clear to me whether the ABI is actually incompatible between release/asserts builds, or whether the link-time check for this is just enabled when doing asserts builds. But yeah, it turns out to be the former, which implies we'll need asserts-versions of all of these artifacts... 🙁 @staticfloat Is this something #35193 would include, i.e., would the assertion-ness be discoverable from the libLLVM_jll stdlib (for use by, e.g., a Pkg hook to select the LLVM asserts-based build of any dependency)? |
I haven't thought that far ahead yet. What are the ramifications? Will we have to rebuild everything that links against libLLVM? That seems.... untenable to me. |
Probably. As Jameson mentions, and e.g. https://lists.llvm.org/pipermail/llvm-dev/2016-November/107148.html confirms, asserts builds are ABI incompatible with release builds. |
This breaks libLLVM-based artifacts when using LLVM+asserts:
I guess we should set
LLVM_ABI_BREAKING_CHECKS
to either FORCE_ON or FORCE_OFF:The text was updated successfully, but these errors were encountered: