Use `C-unwind` ABI for `__rust_start_panic` in `panic_abort`

This commit is contained in:
hyd-dev 2021-08-05 17:42:27 +08:00
parent d4ad1cfc63
commit 7520ea9046
No known key found for this signature in database
GPG Key ID: 74FA7FD5B8DA14B8
1 changed files with 2 additions and 1 deletions

View File

@ -15,6 +15,7 @@
#![feature(staged_api)]
#![feature(rustc_attrs)]
#![feature(asm)]
#![feature(c_unwind)]
#[cfg(target_os = "android")]
mod android;
@ -30,7 +31,7 @@ pub unsafe extern "C" fn __rust_panic_cleanup(_: *mut u8) -> *mut (dyn Any + Sen
// "Leak" the payload and shim to the relevant abort on the platform in question.
#[rustc_std_internal_symbol]
pub unsafe extern "C" fn __rust_start_panic(_payload: *mut &mut dyn BoxMeUp) -> u32 {
pub unsafe extern "C-unwind" fn __rust_start_panic(_payload: *mut &mut dyn BoxMeUp) -> u32 {
// Android has the ability to attach a message as part of the abort.
#[cfg(target_os = "android")]
android::android_set_abort_message(_payload);