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.
This commit is contained in:
parent
db94dbc597
commit
5ff0876694
12 changed files with 347 additions and 277 deletions
|
@ -591,6 +591,7 @@ pub mod alloc;
|
|||
|
||||
// Private support modules
|
||||
mod panicking;
|
||||
mod personality;
|
||||
|
||||
#[path = "../../backtrace/src/lib.rs"]
|
||||
#[allow(dead_code, unused_attributes)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue