]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
ensure the regcache is in sync with the fpsr part VEX represents
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Thu, 31 Jul 2014 20:13:23 +0000 (20:13 +0000)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Thu, 31 Jul 2014 20:13:23 +0000 (20:13 +0000)
when fpsr is modified from gdb

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14225

coregrind/m_gdbserver/valgrind-low-arm64.c

index f701f4b020fe95edcc92ddeb5b69441db48efbf4..ff65378defafd4d41dc6ae059aa8820bc539993f 100644 (file)
@@ -232,6 +232,9 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
          ULong fpsr = 0;
          VG_(transfer) ((UInt*)&fpsr, buf, dir, size, mod);
          LibVEX_GuestARM64_set_fpsr(arm, fpsr);
+         /* resync the cache with the part of fpsr that VEX represents. */
+         fpsr = LibVEX_GuestARM64_get_fpsr(arm);
+         VG_(transfer) ((UInt*)&fpsr, buf, valgrind_to_gdbserver, size, mod);
       }
       break;
    }