提交 166c97ed 编写于 作者: C Chen Gang 提交者: Riku Voipio

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: NChen Gang <gang.chen.5i5j@gmail.com>
Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: NLaurent Vivier <laurent@vivier.eu>
Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
上级 f1d9d107
......@@ -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 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册