-
Notifications
You must be signed in to change notification settings - Fork 12.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
SIGSEGV when compiling for target wasm32-unknown-unknown with LLVM target feature 'multivalue' #73916
Comments
(Probably |
It seems like using u128 / i128 segfaults multivalue as well on beta and nightly. It works on 1.44. This seems like a regression in LLVM 10. |
I think the feature wasn't actually implemented prior to LLVM 10. |
Ah yeah seems like it |
I tested this on LLVM trunk and wasn't able to reproduce the same crash, so this will likely get fixed when we update LLVM. |
With recent LLVM upgrade this particular crash disappears, but in general it still segfaults when compiling a nontrivial crate, like New example:
Godbolt: https://godbolt.org/z/TTffx3 |
For the record, the example above is still reproducible after LLVM 12 upgrade. |
I made a more low-level reproduction of the example above: https://github.com/adrian17/multivalue-crash-repro/ (unfortunately I couldn't put it on godbolt, as without the crate boundary it compiled correctly) I'm guessing it's originating from compiling this line:
And remaining code is there just to defeat optimizations that would un-break later passes. |
I just confirmed that this has been working since v1.62. |
I tried this code:
With compiler invocation:
rustc --crate-type lib mytest.rs --target wasm32-unknown-unknown -C target-feature=+multivalue
I expected to see this happen: no failure
Instead, this happened:
Meta
rustc --version --verbose
:Backtrace
No backtrace.
Can also be reproduced on godbolt with current nightly: https://godbolt.org/z/Pqg986
Also, there is no crash when the feature is not enabled (not mentioned at all or
-C target-feature=-multivalue
), or when I build with-O
.The text was updated successfully, but these errors were encountered: