diff mbox series

[v2,07/12] linux-user/sparc: Fix WREG usage in setup_frame

Message ID 20191025113921.9412-8-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user sparc fixes | expand

Commit Message

Richard Henderson Oct. 25, 2019, 11:39 a.m. UTC
Use WREG_I0 not WREG_O0 in order to properly save the "ins".
The "outs" were saved separately in setup___siginfo.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 linux-user/sparc/signal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

Comments

Laurent Vivier Nov. 5, 2019, 9:50 a.m. UTC | #1
Le 25/10/2019 à 13:39, Richard Henderson a écrit :
> Use WREG_I0 not WREG_O0 in order to properly save the "ins".

> The "outs" were saved separately in setup___siginfo.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  linux-user/sparc/signal.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c

> index 0db4c5f84f..efb0df7e2b 100644

> --- a/linux-user/sparc/signal.c

> +++ b/linux-user/sparc/signal.c

> @@ -192,7 +192,7 @@ void setup_frame(int sig, struct target_sigaction *ka,

>          __put_user(env->regwptr[i + WREG_L0], &sf->ss.locals[i]);

>      }

>      for (i = 0; i < 8; i++) {

> -        __put_user(env->regwptr[i + WREG_O0], &sf->ss.ins[i]);

> +        __put_user(env->regwptr[i + WREG_I0], &sf->ss.ins[i]);

>      }

>      if (err)

>          goto sigsegv;

> 


Applied to my linux-user branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 0db4c5f84f..efb0df7e2b 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/signal.c
@@ -192,7 +192,7 @@  void setup_frame(int sig, struct target_sigaction *ka,
         __put_user(env->regwptr[i + WREG_L0], &sf->ss.locals[i]);
     }
     for (i = 0; i < 8; i++) {
-        __put_user(env->regwptr[i + WREG_O0], &sf->ss.ins[i]);
+        __put_user(env->regwptr[i + WREG_I0], &sf->ss.ins[i]);
     }
     if (err)
         goto sigsegv;