diff --git a/src/lib.rs b/src/lib.rs index de3fffc..a414479 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,8 +15,14 @@ #[cfg(all(not(test), feature = "panic-handler"))] #[panic_handler] fn panic(_info: &core::panic::PanicInfo) -> ! { + #[cfg(not(any(target_arch = "arm", target_arch = "riscv32")))] + compile_error!("Panic handler can only be compiled for arm and riscv32"); + unsafe { + #[cfg(target_arch = "arm")] core::arch::asm!("udf #0"); + #[cfg(any(target_arch = "riscv32", target_arch = "riscv64"))] + core::arch::asm!("UNIMP"); core::hint::unreachable_unchecked(); } }