-
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
Disable ARM EHABI when building without landing pads #11992
Conversation
Saw this mentioned in #10942 |
I think it generally makes sense that the behavior is undefined if you run with |
Ah, what I meant to say is that behavior is undefined if you unwind in code built with |
Yeah, but I didn't think it should be even trying to unwind. I'll admit to not being sure of the intent behind the |
We call a "landing pad" a segment of code which is run whenever an unwinding happens. This means that after some function was called, something down in the call stack ended up calling With the On ARM, it looks like the codegen is so different that if the code isn't built to have exceptions thrown that there's no way for libunwind to unwind the stack when an exception is thrown. I suppose it doesn't affect x86 and x86_64 codegen that much. I was basically trying to think of a way to test that |
Ahh, got you. Your test is making sure that it is behaving incorrectly, as opposed to correctly behaving unsafely. Well, if "undefined" is sufficient I'll xfail the test for android (just wish it failed more concretely than with an illegal instruction). |
Upon rebasing LLVM it sounds like they're removing the I'm just waiting for LLVM's mingw bots to go green before we rebase and take an LLVM upgrade, but it could be a long time before that happens if they start requiring c++11 to build llvm (which they're definitely doing soon). |
Closing in favor of #12207 (llvm removed these options). |
Includes an upstream commit by pcwalton to improve codegen of our enums getting moved around. This also introduces a new commit on top of our stack of patches to fix a mingw32 build issue. I have submitted the patch upstream: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140210/204653.html I verified that this builds on the try bots, which amazes me because I think that c++11 is turned on now, but I guess we're still lucky! Closes #10613 (pcwalton's patch landed) Closes #11992 (llvm has removed these options)
…domDev99 fix suggestion for [`len_zero`] with macros fixes: rust-lang#11992 changelog: fix suggestion for [`len_zero`] with macros
I'm not sure if/how to test this. Passes make check.
Before
After