Commit 166c97ed authored by Chen Gang's avatar Chen Gang Committed by Riku Voipio
Browse files

linux-user/signal.c: Use target address instead of host address for microblaze restorer



The return address is in target space, so the restorer address needs to
be target space, too.

Signed-off-by: default avatarChen Gang <gang.chen.5i5j@gmail.com>
Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
Signed-off-by: default avatarRiku Voipio <riku.voipio@linaro.org>
parent f1d9d107
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3573,7 +3573,8 @@ static void setup_frame(int sig, struct target_sigaction *ka,

        /* Return from sighandler will jump to the tramp.
           Negative 8 offset because return is rtsd r15, 8 */
        env->regs[15] = ((unsigned long)frame->tramp) - 8;
        env->regs[15] = frame_addr + offsetof(struct target_signal_frame, tramp)
                                   - 8;
    }

    /* Set up registers for signal handler */