This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Add asserts in target_fetch/store_registers
- From: Simon Marchi <simark at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 13 Mar 2017 22:52:28 -0000
- Subject: [binutils-gdb] Add asserts in target_fetch/store_registers
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c6386875ba57a806c896ba097afef525671de4a0
commit c6386875ba57a806c896ba097afef525671de4a0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Mar 13 18:51:38 2017 -0400
Add asserts in target_fetch/store_registers
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.
Diff:
---
gdb/ChangeLog | 5 +++++
gdb/target.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3e155a3..f8cb947 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/target.c b/gdb/target.c
index 0ff8515..359bf0d 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -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 (¤t_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 (¤t_target, regcache, regno);
if (targetdebug)
{