From: Florian Krohm Date: Fri, 31 May 2013 15:44:06 +0000 (+0000) Subject: s390x: The CC_DEP1 field is accessed as a whole or bits [0:31] X-Git-Tag: svn/VALGRIND_3_9_0~271 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7b5334ad4c50f0da8556171f484e81eee49506fa;p=thirdparty%2Fvalgrind.git s390x: The CC_DEP1 field is accessed as a whole or bits [0:31] in case the field holds a 32-bit floating point value. Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com). Part of fixing BZ 307113. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13413 --- diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c index c6f41f4bf2..2feec7946e 100644 --- a/memcheck/mc_machine.c +++ b/memcheck/mc_machine.c @@ -817,7 +817,9 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) if (o == GOF(EMNOTE) && sz == 4) return -1; if (o == GOF(CC_OP) && sz == 8) return -1; - if (o == GOF(CC_DEP1) && sz == 8) return o; + /* We access CC_DEP1 either fully or bits [0:31] */ + if (o == GOF(CC_DEP1) && (sz == 8 || sz ==4)) + return o; if (o == GOF(CC_DEP2) && sz == 8) return o; if (o == GOF(CC_NDEP) && sz == 8) return -1; if (o == GOF(TISTART) && sz == 8) return -1;