rust/library/panic_unwind/src/hermit.rs
joboet b7f2cd3a2b
deduplicate abort implementations
Currently, the code for process aborts is duplicated across `panic_abort` and `std`. This PR uses `#[rustc_std_internal_symbol]` to make the `std` implementation available to `panic_abort` via the linker, thereby deduplicating the code.
2025-05-15 11:20:13 +02:00

20 lines
446 B
Rust

//! Unwinding for *hermit* target.
//!
//! Right now we don't support this, so this is just stubs.
use alloc::boxed::Box;
use core::any::Any;
unsafe extern "Rust" {
// This is defined in std::rt
#[rustc_std_internal_symbol]
safe fn __rust_abort() -> !;
}
pub(crate) unsafe fn cleanup(_ptr: *mut u8) -> Box<dyn Any + Send> {
__rust_abort()
}
pub(crate) unsafe fn panic(_data: Box<dyn Any + Send>) -> u32 {
__rust_abort()
}