projects
/
sdk
/
emulator
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
eb47d7c
)
Don't translate pointer when in restore_sigcontext
author
Mike McCormack
<mj.mccormack@samsung.com>
Wed, 1 Jun 2011 06:14:37 +0000
(15:14 +0900)
committer
Riku Voipio
<riku.voipio@iki.fi>
Mon, 20 Jun 2011 14:00:18 +0000
(17:00 +0300)
Fixes crash in i386 when user emulation base address is non-zero.
21797 rt_sigreturn(8,
1082124603
,1,0,
1082126048
,
1082126248
)Exit reason and status: signal 11
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
linux-user/signal.c
patch
|
blob
|
history
diff --git
a/linux-user/signal.c
b/linux-user/signal.c
index 11b25be7b8414e9f7a628a4cc2209c044a92a1de..cb7138f1cfdddadf1f8cece62e8943f96572cdbf 100644
(file)
--- a/
linux-user/signal.c
+++ b/
linux-user/signal.c
@@
-981,8
+981,8
@@
restore_sigcontext(CPUX86State *env, struct target_sigcontext *sc, int *peax)
env->regs[R_ECX] = tswapl(sc->ecx);
env->eip = tswapl(sc->eip);
- cpu_x86_load_seg(env, R_CS, lduw(&sc->cs) | 3);
- cpu_x86_load_seg(env, R_SS, lduw(&sc->ss) | 3);
+ cpu_x86_load_seg(env, R_CS, lduw
_p
(&sc->cs) | 3);
+ cpu_x86_load_seg(env, R_SS, lduw
_p
(&sc->ss) | 3);
tmpflags = tswapl(sc->eflags);
env->eflags = (env->eflags & ~0x40DD5) | (tmpflags & 0x40DD5);