]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: The CC_DEP1 field is accessed as a whole or bits [0:31]
authorFlorian Krohm <florian@eich-krohm.de>
Fri, 31 May 2013 15:44:06 +0000 (15:44 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Fri, 31 May 2013 15:44:06 +0000 (15:44 +0000)
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

memcheck/mc_machine.c

index c6f41f4bf206f5832d81b28d52e2fe1f30223e83..2feec7946eaf621d9f10de8020e6c789e8130fc6 100644 (file)
@@ -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;