From: Julian Seward Date: Sun, 12 Feb 2006 15:45:46 +0000 (+0000) Subject: Restore %EIP from the info passed to the handler (ucontext), so as to X-Git-Tag: svn/VALGRIND_3_2_0~273 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd4685115b0d3fe0c4a867451e28758feede2e19;p=thirdparty%2Fvalgrind.git Restore %EIP from the info passed to the handler (ucontext), so as to be able to deal with signal handlers that mess with third_arg->uc_mcontext.gregs[REG_EIP]. Apparently Wine does this. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5641 --- diff --git a/coregrind/m_sigframe/sigframe-x86-linux.c b/coregrind/m_sigframe/sigframe-x86-linux.c index cca9bd3914..6b9dad1559 100644 --- a/coregrind/m_sigframe/sigframe-x86-linux.c +++ b/coregrind/m_sigframe/sigframe-x86-linux.c @@ -630,8 +630,7 @@ void restore_sigcontext( ThreadState *tst, tst->arch.vex.guest_ESI = sc->esi; tst->arch.vex.guest_EDI = sc->edi; //:: tst->arch.vex.guest_eflags = sc->eflags; -//:: tst->arch.vex.guest_EIP = sc->eip; - + tst->arch.vex.guest_EIP = sc->eip; tst->arch.vex.guest_CS = sc->cs; tst->arch.vex.guest_SS = sc->ss; tst->arch.vex.guest_DS = sc->ds;