about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-08-25 07:36:52 +0000
committerbors <bors@rust-lang.org>2020-08-25 07:36:52 +0000
commit3d6a3ed15823cce765d56952d954e1bd8166dfa7 (patch)
treeef3e35a72345e28e38e2684d4d528dcc6e62956b /compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
parentc30341ddec0b99bb3bd8bb5fd8c8451778c78330 (diff)
parentb9b8b5c96b60789b6b7846a4036d3cbf2d393014 (diff)
downloadrust-3d6a3ed15823cce765d56952d954e1bd8166dfa7.tar.gz
rust-3d6a3ed15823cce765d56952d954e1bd8166dfa7.zip
Auto merge of #75364 - rylev:libpanic-abort-failfast, r=alexcrichton
Call into fastfail on abort in libpanic_abort on Windows x86(_64)

This partially resolves #73215 though this is only for x86 targets. This code is directly lifted from [libstd](https://github.com/rust-lang/rust/blob/13290e83a6e20f3b408d177a9d64d8cf98fe4615/library/std/src/sys/windows/mod.rs#L315). `__fastfail` is the preferred way to abort a process on Windows as it will hook into debugger toolchains.

Other platforms expose a `_rust_abort` symbol which wraps `std::sys::abort_internal`. This would also work on Windows, but is a slightly largely change as we'd need to make sure that the symbol is properly exposed to the linker. I'm inlining the call to the `__fastfail`, but the indirection through `rust_abort` might be a cleaner approach.

 A different instruction must be used on ARM architectures. I'd like to verify this works first before tackling ARM.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp')
0 files changed, 0 insertions, 0 deletions