--- cargo-crates/wasmtime-43.0.2/src/runtime/vm/sys/unix/signals.rs.orig 2026-07-06 19:53:31 UTC +++ cargo-crates/wasmtime-43.0.2/src/runtime/vm/sys/unix/signals.rs @@ -397,6 +397,13 @@ unsafe fn store_handler_in_ucontext(cx: *mut libc::c_v cx.uc_mcontext.__gregs[libc::REG_SP] = handler.sp as _; cx.uc_mcontext.__gregs[libc::REG_A0] = 0; cx.uc_mcontext.__gregs[libc::REG_A0 + 1] = 0; + } else if #[cfg(all(target_os = "freebsd", target_arch = "aarch64"))] { + let cx = unsafe { cx.cast::().as_mut().unwrap() }; + cx.uc_mcontext.mc_gpregs.gp_elr = handler.pc as _; + cx.uc_mcontext.mc_gpregs.gp_sp = handler.sp as _; + cx.uc_mcontext.mc_gpregs.gp_x[29] = handler.fp as _; + cx.uc_mcontext.mc_gpregs.gp_x[0] = 0; + cx.uc_mcontext.mc_gpregs.gp_x[1] = 0; } else { compile_error!("unsupported platform"); panic!();