termux-packages/packages/wasmer/lib_vm_src_trap_traphandler...

27 lines
1.8 KiB
Diff

diff -uNr wasmer-2.0.0/lib/vm/src/trap/traphandlers.rs wasmer-2.0.0.mod/lib/vm/src/trap/traphandlers.rs
--- wasmer-2.0.0/lib/vm/src/trap/traphandlers.rs 2021-06-16 04:59:00.000000000 +0800
+++ wasmer-2.0.0.mod/lib/vm/src/trap/traphandlers.rs 2021-09-20 09:30:49.491362030 +0800
@@ -207,6 +207,9 @@
if #[cfg(all(target_os = "linux", target_arch = "x86_64"))] {
let cx = &*(cx as *const libc::ucontext_t);
cx.uc_mcontext.gregs[libc::REG_RIP as usize] as *const u8
+ } else if #[cfg(all(target_os = "android", target_arch = "x86_64"))] {
+ let cx = &*(cx as *const libc::ucontext_t);
+ cx.uc_mcontext.gregs[libc::REG_RIP as usize] as *const u8
} else if #[cfg(all(target_os = "linux", target_arch = "x86"))] {
let cx = &*(cx as *const libc::ucontext_t);
cx.uc_mcontext.gregs[libc::REG_EIP as usize] as *const u8
@@ -219,6 +222,12 @@
} else if #[cfg(all(target_os = "android", target_arch = "aarch64"))] {
let cx = &*(cx as *const libc::ucontext_t);
cx.uc_mcontext.pc as *const u8
+ } else if #[cfg(all(target_os = "linux", target_arch = "arm"))] {
+ let cx = &*(cx as *const libc::ucontext_t);
+ cx.uc_mcontext.arm_pc as *const u8 // still not implemented in rust libc
+ } else if #[cfg(all(target_os = "android", target_arch = "arm"))] {
+ let cx = &*(cx as *const libc::ucontext_t);
+ cx.uc_mcontext.arm_pc as *const u8
} else if #[cfg(all(target_os = "macos", target_arch = "x86_64"))] {
let cx = &*(cx as *const libc::ucontext_t);
(*cx.uc_mcontext).__ss.__rip as *const u8