about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/errors.rs
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2022-02-09 14:11:51 +0000
committerAmanieu d'Antras <amanieu@gmail.com>2022-08-23 16:12:58 +0800
commit5ff087669438ec406fd3abc99bd1b85b6fbe156a (patch)
treed273383af8014904fa5681e65f6c43af26ca4409 /compiler/rustc_interface/src/errors.rs
parentdb94dbc597ac91cd5d16e898fa9081c09c879123 (diff)
downloadrust-5ff087669438ec406fd3abc99bd1b85b6fbe156a.tar.gz
rust-5ff087669438ec406fd3abc99bd1b85b6fbe156a.zip
Move personality functions to std
These were previously in the panic_unwind crate with dummy stubs in the
panic_abort crate. However it turns out that this is insufficient: we
still need a proper personality function even with -C panic=abort to
handle the following cases:

1) `extern "C-unwind"` still needs to catch foreign exceptions with -C
panic=abort to turn them into aborts. This requires landing pads and a
personality function.

2) ARM EHABI uses the personality function when creating backtraces.
The dummy personality function in panic_abort was causing backtrace
generation to get stuck in a loop since the personality function is
responsible for advancing the unwind state to the next frame.
Diffstat (limited to 'compiler/rustc_interface/src/errors.rs')
0 files changed, 0 insertions, 0 deletions