linux-user/ppc: Simplify encode_trampoline
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 29 Sep 2021 13:05:45 +0000 (09:05 -0400)
committerLaurent Vivier <laurent@vivier.eu>
Fri, 1 Oct 2021 10:03:48 +0000 (12:03 +0200)
The sigret parameter is never 0, and even if it was the encoding
of the LI instruction would still work.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210929130553.121567-19-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/ppc/signal.c

index e4d0dfa3bf75486c6b86e885116d31703202ce6e..77f37b9f01315563ca87e44b1e1fb10221726f30 100644 (file)
@@ -309,10 +309,8 @@ static void save_user_regs(CPUPPCState *env, struct target_mcontext *frame)
 static void encode_trampoline(int sigret, uint32_t *tramp)
 {
     /* Set up the sigreturn trampoline: li r0,sigret; sc.  */
-    if (sigret) {
-        __put_user(0x38000000 | sigret, &tramp[0]);
-        __put_user(0x44000002, &tramp[1]);
-    }
+    __put_user(0x38000000 | sigret, &tramp[0]);
+    __put_user(0x44000002, &tramp[1]);
 }
 
 static void restore_user_regs(CPUPPCState *env,