From 84704353affe27f117ac153b327c720c7b3dfcbc Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Wed, 24 Aug 2022 18:54:42 -0600
Subject: [PATCH] Support address space change on aarch64

---
 src/scheme/proc.rs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs
index a53006d7..b4a7c010 100644
--- a/src/scheme/proc.rs
+++ b/src/scheme/proc.rs
@@ -1140,6 +1140,12 @@ impl Scheme for ProcScheme {
             Operation::AwaitingAddrSpaceChange { new, new_sp, new_ip } => {
                 stop_context(handle.info.pid, |context: &mut Context| unsafe {
                     if let Some(saved_regs) = ptrace::regs_for_mut(context) {
+                        #[cfg(target_arch = "aarch64")]
+                        {
+                            saved_regs.iret.elr_el1 = new_ip;
+                            saved_regs.iret.sp_el0 = new_sp;
+                        }
+
                         #[cfg(target_arch = "x86")]
                         {
                             saved_regs.iret.eip = new_ip;
-- 
GitLab