Add asserts in target_fetch/store_registers
authorSimon Marchi <simon.marchi@polymtl.ca>
Mon, 13 Mar 2017 22:51:38 +0000 (18:51 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Mon, 13 Mar 2017 22:51:38 +0000 (18:51 -0400)
We are currently assuming that regcache->ptid is equal to inferior_ptid
when we call target_fetch/store_registers.  These asserts just validate
that assumption.  Also, since the following patches will change target
code to use regcache->ptid instead of inferior_ptid, asserting that they
are the same should ensure that our changes don't have any unintended
consequences.

gdb/ChangeLog:

* target.c (target_fetch_registers, target_store_registers): Add
assert.

gdb/ChangeLog
gdb/target.c

index 3e155a3..f8cb947 100644 (file)
@@ -1,5 +1,10 @@
 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
 
+       * target.c (target_fetch_registers, target_store_registers): Add
+       assert.
+
+2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
        * regcache.h (regcache_get_ptid): New function.
        * regcache.c (regcache_get_ptid): New function.
 
index 0ff8515..359bf0d 100644 (file)
@@ -3587,6 +3587,8 @@ debug_print_register (const char * func,
 void
 target_fetch_registers (struct regcache *regcache, int regno)
 {
+  gdb_assert (ptid_equal (regcache_get_ptid (regcache), inferior_ptid));
+
   current_target.to_fetch_registers (&current_target, regcache, regno);
   if (targetdebug)
     debug_print_register ("target_fetch_registers", regcache, regno);
@@ -3598,6 +3600,8 @@ target_store_registers (struct regcache *regcache, int regno)
   if (!may_write_registers)
     error (_("Writing to registers is not allowed (regno %d)"), regno);
 
+  gdb_assert (ptid_equal (regcache_get_ptid (regcache), inferior_ptid));
+
   current_target.to_store_registers (&current_target, regcache, regno);
   if (targetdebug)
     {