about summary refs log tree commit diff
path: root/library/std/src/sys/unix/fd.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-08-28 04:16:29 +0000
committerbors <bors@rust-lang.org>2022-08-28 04:16:29 +0000
commit91f128baf7704a477ab7c499143a160fb069b3ad (patch)
treee9b630fceeee3164f04ca67f6ccb868e4ac42781 /library/std/src/sys/unix/fd.rs
parent1e978a3627bd65064164af3548c585fb25eef9d2 (diff)
parenta7e4794c2effd128a223ce3df0816637ac0a8d7c (diff)
downloadrust-91f128baf7704a477ab7c499143a160fb069b3ad.tar.gz
rust-91f128baf7704a477ab7c499143a160fb069b3ad.zip
Auto merge of #92845 - Amanieu:std_personality, r=Mark-Simulacrum
Move EH 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.

Fixes #41004
Diffstat (limited to 'library/std/src/sys/unix/fd.rs')
0 files changed, 0 insertions, 0 deletions