-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Do not unwind on Windows with panic=abort #46057
Comments
|
The point is that |
Triage: not sure what the status of this is, honestly. |
The main blocker as far as I can tell is either dropping support entirely for older than Windows 7 or LLVM adding the fail fast intrinsic, based on this comment. Anyone know whether LLVM added that intrinsic yet, or if there is an issue somewhere for that? |
It's only implemented as Clang builtin, so no change for Rust. |
Since Windows 7 is now the minimum supported version of Windows, it looks like we can use the |
I believe we are using failfast everywhere we aborting. Here's what deleteme!std::process::abort:
00007ff7`c45973f0 50 push rax
00007ff7`c45973f1 b907000000 mov ecx, 7
00007ff7`c45973f6 cd29 int 29h
00007ff7`c45973f8 0f0b ud2 There is a call to |
Currently we use the
ud2
instruction to abort the process. This unwinds the stack which we want to avoid. We also need to ensure that the abort mechanism triggers JIT debuggers (see #46056).The text was updated successfully, but these errors were encountered: