struct target_ucontext_v2 is not at the begining of the signal frame,
therefore do_sigaltstack was being passed bogus arguments.

Signed-off-by: Timothy Edward Baldwin <t.e.baldwi...@members.leeds.ac.uk>
---
 linux-user/signal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 9a4d894..5b0a826 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2062,7 +2062,7 @@ static int do_sigframe_return_v2(CPUARMState *env, 
target_ulong frame_addr,
         }
     }
 
-    if (do_sigaltstack(frame_addr + offsetof(struct target_ucontext_v2, 
tuc_stack), 0, get_sp_from_cpustate(env)) == -EFAULT)
+    if (do_sigaltstack(frame_addr + offsetof(struct rt_sigframe_v2, 
uc.tuc_stack), 0, get_sp_from_cpustate(env)) == -EFAULT)
         return 1;
 
 #if 0
-- 
2.1.4


Reply via email to