| Submitter | =?utf-8?Q?Llu=C3=ADs?= |
|---|---|
| Date | Oct. 7, 2010, 5:20 p.m. |
| Message ID | <874ocxzzql.fsf@ginnungagap.bsc.es> |
| Download | mbox | patch |
| Permalink | /patch/67085/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/linux-user/signal.c b/linux-user/signal.c index 77683f7..097da9d 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -982,8 +982,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_raw(&sc->cs) | 3); + cpu_x86_load_seg(env, R_SS, lduw_raw(&sc->ss) | 3); tmpflags = tswapl(sc->eflags); env->eflags = (env->eflags & ~0x40DD5) | (tmpflags & 0x40DD5);
Using a pointer on the host should not go through lduw. Signed-off-by: LluĂs <xscript@gmx.net> --- linux-user/signal.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)