From: Julian Seward Date: Mon, 30 Mar 2009 02:27:29 +0000 (+0000) Subject: Handle new pseudo-register IP_AT_SYSCALL when origin-tracking is X-Git-Tag: svn/VALGRIND_3_5_0~835 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e1eec7ec8d0a48bb67889cbda448d56a331a73ed;p=thirdparty%2Fvalgrind.git Handle new pseudo-register IP_AT_SYSCALL when origin-tracking is enabled. Fixes #188161. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9497 --- diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c index bb45c0a4fd..4072b8ada0 100644 --- a/memcheck/mc_machine.c +++ b/memcheck/mc_machine.c @@ -181,7 +181,7 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) if (o == GOF(CTR) && sz == 8) return o; if (o == GOF(CIA) && sz == 8) return -1; - if (o == GOF(IP_AT_SYSCALL) && sz == 8) return -1; + if (o == GOF(IP_AT_SYSCALL) && sz == 8) return -1; /* slot unused */ if (o == GOF(RESVN) && sz == 8) return -1; if (o == GOF(FPROUND) && sz == 4) return -1; if (o == GOF(EMWARN) && sz == 4) return -1; @@ -340,7 +340,7 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) if (o == GOF(CTR) && sz == 4) return o; if (o == GOF(CIA) && sz == 4) return -1; - if (o == GOF(IP_AT_SYSCALL) && sz == 4) return -1; + if (o == GOF(IP_AT_SYSCALL) && sz == 4) return -1; /* slot unused */ if (o == GOF(RESVN) && sz == 4) return -1; if (o == GOF(FPROUND) && sz == 4) return -1; if (o == GOF(VRSAVE) && sz == 4) return -1; @@ -488,6 +488,7 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) if (o == GOF(CC_NDEP) && sz == 8) return -1; /* slot used for %BH */ if (o == GOF(DFLAG) && sz == 8) return -1; /* slot used for %CH */ if (o == GOF(RIP) && sz == 8) return -1; /* slot unused */ + if (o == GOF(IP_AT_SYSCALL) && sz == 8) return -1; /* slot unused */ if (o == GOF(IDFLAG) && sz == 8) return -1; /* slot used for %DH */ if (o == GOF(FS_ZERO) && sz == 8) return -1; /* slot unused */ if (o == GOF(TISTART) && sz == 8) return -1; /* slot unused */ @@ -598,6 +599,7 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) if (o == GOF(CC_NDEP) && sz == 4) return -1; /* slot used for %BH */ if (o == GOF(DFLAG) && sz == 4) return -1; /* slot used for %CH */ if (o == GOF(EIP) && sz == 4) return -1; /* slot unused */ + if (o == GOF(IP_AT_SYSCALL) && sz == 4) return -1; /* slot unused */ if (o == GOF(IDFLAG) && sz == 4) return -1; /* slot used for %DH */ if (o == GOF(ACFLAG) && sz == 4) return -1; /* slot unused */ if (o == GOF(TISTART) && sz == 4) return -1; /* slot unused */