diff --git a/README.md b/README.md index dcdc4d6d..e767c0f5 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ fn write_minidump(crash_context: crash_context::CrashContext) { `x86_64` | ✅ | ✅ | ⚠️ | ✅ | ✅ | ⭕️ | `i686` | ✅ | ✅ | ❌ | ⚠️ | ❌ | ❌ | ⭕️ | `arm` | ⚠️ | ⚠️ | ⚠️ | ⭕️ | ❌ | ❌ | -`aarch64` | ⚠️ | ⚠️ | ⚠️ | ⭕️ | ✅ | ⭕️ | +`aarch64` | ⚠️ | ⚠️ | ⚠️ | ✅ | ✅ | ⭕️ | `mips` | ⭕️ | ⭕️ | ❌ | ❌ | ❌ | ❌ | `mips64` | ⭕️ | ⭕️ | ❌ | ❌ | ❌ | ❌ | `powerpc` | ⭕️ | ⭕️ | ❌ | ❌ | ❌ | ❌ | diff --git a/tests/windows_minidump_writer.rs b/tests/windows_minidump_writer.rs index 1ea04710..98db2fef 100644 --- a/tests/windows_minidump_writer.rs +++ b/tests/windows_minidump_writer.rs @@ -1,5 +1,6 @@ -#![cfg(all(target_os = "windows", target_arch = "x86_64"))] +#![cfg(all(target_os = "windows"))] +use cfg_if; use minidump::{ CrashReason, Minidump, MinidumpBreakpadInfo, MinidumpMemoryList, MinidumpSystemInfo, MinidumpThreadList, @@ -17,6 +18,18 @@ extern "system" { pub(crate) fn GetCurrentThreadId() -> u32; } +fn get_target_cpu() -> minidump::system_info::Cpu { + cfg_if::cfg_if! { + if #[cfg(target_arch = "aarch64")] { + minidump::system_info::Cpu::Arm64 + } else if #[cfg(target_arch = "x86")] { + minidump::system_info::Cpu::X86 + } else if #[cfg(target_arch = "x86_64")] { + minidump::system_info::Cpu::X86_64 + } + } +} + fn get_crash_reason<'a, T: std::ops::Deref + 'a>( md: &Minidump<'a, T>, ) -> CrashReason { @@ -25,7 +38,8 @@ fn get_crash_reason<'a, T: std::ops::Deref + 'a>( exc.get_crash_reason( minidump::system_info::Os::Windows, - minidump::system_info::Cpu::X86_64, + // This is currently ignored, but it might be used in the future + get_target_cpu(), ) }