]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Restore %EIP from the info passed to the handler (ucontext), so as to
authorJulian Seward <jseward@acm.org>
Sun, 12 Feb 2006 15:45:46 +0000 (15:45 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 12 Feb 2006 15:45:46 +0000 (15:45 +0000)
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

coregrind/m_sigframe/sigframe-x86-linux.c

index cca9bd391449d05698066347ddbabf092488aa40..6b9dad15596e7f94a73559a04fd9d4d58d1dade4 100644 (file)
@@ -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;