aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2017-09-22 14:53:06 +0100
committerYao Qi <yao.qi@linaro.org>2017-10-13 11:52:11 +0100
commitc2db73a25d7cdd14f68a9efb2eec895c0e033225 (patch)
tree9417573cf03a7c382243e2e92be25b767bf3732a
parent21be97583901e297387fde9526ccec1d2b4c103d (diff)
downloadfsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.zip
fsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.tar.gz
fsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.tar.bz2
Move more supply and collect methods to reg_buffer
This patch moves more supply and collect methods to class reg_buffer gdb: 2017-09-22 Yao Qi <yao.qi@linaro.org> : * regcache.c (reg_buffer::raw_collect_integer): (regcache_supply_regset): (regcache_collect_regset): * regcache.h (public:): (public:): (private:):
-rw-r--r--gdb/regcache.c16
-rw-r--r--gdb/regcache.h23
2 files changed, 19 insertions, 20 deletions
diff --git a/gdb/regcache.c b/gdb/regcache.c
index 8978b14..ebc9e69 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -1182,10 +1182,10 @@ reg_buffer::raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
}
void
-regcache::transfer_regset (const struct regset *regset,
- struct regcache *out_regcache,
- int regnum, const void *in_buf,
- void *out_buf, size_t size) const
+reg_buffer::transfer_regset (const struct regset *regset,
+ struct reg_buffer *out_regcache,
+ int regnum, const void *in_buf,
+ void *out_buf, size_t size) const
{
const struct regcache_map_entry *map;
int offs = 0, count;
@@ -1249,8 +1249,8 @@ regcache_supply_regset (const struct regset *regset,
}
void
-regcache::supply_regset (const struct regset *regset,
- int regnum, const void *buf, size_t size)
+reg_buffer::supply_regset (const struct regset *regset,
+ int regnum, const void *buf, size_t size)
{
transfer_regset (regset, this, regnum, buf, NULL, size);
}
@@ -1268,8 +1268,8 @@ regcache_collect_regset (const struct regset *regset,
}
void
-regcache::collect_regset (const struct regset *regset,
- int regnum, void *buf, size_t size) const
+reg_buffer::collect_regset (const struct regset *regset,
+ int regnum, void *buf, size_t size) const
{
transfer_regset (regset, NULL, regnum, NULL, buf, size);
}
diff --git a/gdb/regcache.h b/gdb/regcache.h
index 2aae6d3..a76552f 100644
--- a/gdb/regcache.h
+++ b/gdb/regcache.h
@@ -273,12 +273,23 @@ public:
gdb_byte *register_buffer (int regnum) const;
+ void supply_regset (const struct regset *regset,
+ int regnum, const void *buf, size_t size);
+
+ void collect_regset (const struct regset *regset, int regnum,
+ void *buf, size_t size) const;
+
protected:
struct regcache_descr *m_descr;
private:
void validate (int regnum) const;
+ void transfer_regset (const struct regset *regset,
+ struct reg_buffer *out_regcache,
+ int regnum, const void *in_buf,
+ void *out_buf, size_t size) const;
+
bool m_has_pseudo;
/* The register buffers. */
gdb_byte *m_registers;
@@ -348,13 +359,6 @@ public:
void cooked_write_part (int regnum, int offset, int len,
const gdb_byte *buf);
- void supply_regset (const struct regset *regset,
- int regnum, const void *buf, size_t size);
-
-
- void collect_regset (const struct regset *regset, int regnum,
- void *buf, size_t size) const;
-
void dump (ui_file *file, enum regcache_dump_what what_to_dump);
ptid_t ptid () const
@@ -383,11 +387,6 @@ private:
enum register_status xfer_part (int regnum, int offset, int len, void *in,
const void *out, bool is_raw);
- void transfer_regset (const struct regset *regset,
- struct regcache *out_regcache,
- int regnum, const void *in_buf,
- void *out_buf, size_t size) const;
-
/* The address space of this register cache (for registers where it
makes sense, like PC or SP). */
struct address_space *m_aspace;