From d931e974029a3475bd6712ca8d3bc9cb9dfe558f Mon Sep 17 00:00:00 2001 From: Ryan Levick Date: Sat, 29 Aug 2020 12:30:49 +0200 Subject: [PATCH] Explicitly look for 'thumb-mode' before using __fastfail on 'arm' --- library/panic_abort/src/lib.rs | 2 +- library/std/src/sys/windows/mod.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/panic_abort/src/lib.rs b/library/panic_abort/src/lib.rs index a37bfa45173..31058a2b096 100644 --- a/library/panic_abort/src/lib.rs +++ b/library/panic_abort/src/lib.rs @@ -63,7 +63,7 @@ pub unsafe extern "C" fn __rust_start_panic(_payload: usize) -> u32 { cfg_if::cfg_if! { if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { asm!("int $$0x29", in("ecx") FAST_FAIL_FATAL_APP_EXIT); - } else if #[cfg(target_arch = "arm")] { + } else if #[cfg(all(target_arch = "arm", target_feature = "thumb-mode"))] { asm!(".inst 0xDEFB", in("r0") FAST_FAIL_FATAL_APP_EXIT); } else if #[cfg(target_arch = "aarch64")] { asm!("brk 0xF003", in("x0") FAST_FAIL_FATAL_APP_EXIT); diff --git a/library/std/src/sys/windows/mod.rs b/library/std/src/sys/windows/mod.rs index d3b9a626a9e..8178e6806b9 100644 --- a/library/std/src/sys/windows/mod.rs +++ b/library/std/src/sys/windows/mod.rs @@ -312,7 +312,7 @@ pub fn abort_internal() -> ! { if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { asm!("int $$0x29", in("ecx") FAST_FAIL_FATAL_APP_EXIT); crate::intrinsics::unreachable(); - } else if #[cfg(target_arch = "arm")] { + } else if #[cfg(all(target_arch = "arm", target_feature = "thumb-mode"))] { asm!(".inst 0xDEFB", in("r0") FAST_FAIL_FATAL_APP_EXIT); crate::intrinsics::unreachable(); } else if #[cfg(target_arch = "aarch64")] {