about summary refs log tree commit diff
path: root/library/panic_unwind/src/gcc.rs
AgeCommit message (Collapse)AuthorLines
2025-02-14panic_unwind: Apply unsafe_op_in_unsafe_fnEric Huss-19/+21
2025-01-20panic_unwind: add `#![warn(unreachable_pub)]`Urgau-2/+2
2024-11-29update link to "C++ Exceptions under the hood" blogMartin Kröning-1/+1
The link was introduced in 0ec321f7b541fcbfbf20286beb497e6d9d3352b2. For the old link see https://web.archive.org/web/20170409223244/https://monoinfinito.wordpress.com/series/exception-handling-in-c/. The blog has migrated from WordPress to Blogger in 2021 and to GitHub pages in 2024.
2024-09-26library: Compute `RUST_EXCEPTION_CLASS` from native-endian bytesJubilee Young-1/+1
This makes it appear correctly in hexdumps on both LE and BE platforms.
2024-09-25Use `&raw` in the standard libraryJosh Stone-1/+1
Since the stabilization in #127679 has reached stage0, 1.82-beta, we can start using `&raw` freely, and even the soft-deprecated `ptr::addr_of!` and `ptr::addr_of_mut!` can stop allowing the unstable feature. I intentionally did not change any documentation or tests, but the rest of those macro uses are all now using `&raw const` or `&raw mut` in the standard library.
2024-09-14library: Compute Rust exception class from its string reprJubilee Young-6/+3
2024-02-22Use Itanium ABI for thrown exceptionsNoa-1/+1
2023-10-10Use pointers instead of `usize` addresses for landing padsniluxv-1/+1
This bring unwind and personality code more in line with strict-provenance
2023-04-29Partial stabilisation of `c_unwind`Gary Guo-2/+2
2022-10-23Apply suggestionGary Guo-1/+1
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
2022-10-23Prevent foreign Rust exceptions from being caughtGary Guo-3/+27
2022-08-23Remove custom frame info registration on i686-pc-windows-gnuAmanieu d'Antras-34/+0
The indirection is no longer needed since we always link to libgcc even when the panic_abort runtime is used. Instead we can just call the libgcc functions directly.
2022-08-23Move personality functions to stdAmanieu d'Antras-228/+0
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.
2022-07-30Fix unwinding when debug assertions are enabledMads Marquart-1/+3
This came up on armv7-apple-ios when using -Zbuild-std
2022-07-20Library changes for Apple WatchOSVladimir Michael Eatwell-1/+1
2022-02-12library/panic_unwind: Define UNWIND_DATA_REG for m68kJohn Paul Adrian Glaubitz-0/+3
2021-06-23Use HTTPS links where possibleSmitty-4/+4
2020-11-05Fix even more URLsGuillaume Gomez-3/+3
2020-09-28library/{panic_,}unwind: Add definitions for sparc-unknow-linux-gnuJohn Paul Adrian Glaubitz-1/+1
2020-09-16library/panic_unwind: Consolidate RV32 and RV64Alistair Francis-4/+1
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-09-16library/panic_unwind: Add UNWIND_DATA_REG for RISC-V 32-bitAlistair Francis-0/+3
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-08-27Abort when catch_unwind catches a foreign exceptionAmanieu d'Antras-13/+13
2020-07-27mv std libs to library/mark-0/+346