true if the 32-bit mode is in use, otherwise, it is false. */
void
-aarch32_gp_regcache_collect (const struct regcache *regcache, uint32_t *regs,
+aarch32_gp_regcache_collect (const struct reg_buffer *regcache, uint32_t *regs,
int arm_apcs_32)
{
int regno;
VFP_REGISTER_COUNT is the number VFP registers. */
void
-aarch32_vfp_regcache_collect (const struct regcache *regcache, gdb_byte *regs,
+aarch32_vfp_regcache_collect (const struct reg_buffer *regcache, gdb_byte *regs,
const int vfp_register_count)
{
int regno;
void aarch32_gp_regcache_supply (reg_buffer *regcache, uint32_t *regs,
int arm_apcs_32);
-void aarch32_gp_regcache_collect (const struct regcache *regcache,
+void aarch32_gp_regcache_collect (const reg_buffer *regcache,
uint32_t *regs, int arm_apcs_32);
void aarch32_vfp_regcache_supply (reg_buffer *regcache, gdb_byte *regs,
const int vfp_register_count);
-void aarch32_vfp_regcache_collect (const struct regcache *regcache,
+void aarch32_vfp_regcache_collect (const reg_buffer *regcache,
gdb_byte *regs,
const int vfp_register_count);
public:
/* Add our register access methods. */
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
const struct target_desc *read_description () override;
values in the GDB's register array. */
static void
-store_gregs_to_thread (const struct regcache *regcache)
+store_gregs_to_thread (ptid_t ptid, const reg_buffer *regcache)
{
int ret, tid;
elf_gregset_t regs;
/* Make sure REGS can hold all registers contents on both aarch64
and arm. */
gdb_static_assert (sizeof (regs) >= 18 * 4);
- tid = ptid_get_lwp (regcache->ptid ());
+ tid = ptid.lwp ();
iovec.iov_base = ®s;
if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
values in the GDB's register array. */
static void
-store_fpregs_to_thread (const struct regcache *regcache)
+store_fpregs_to_thread (ptid_t ptid, const reg_buffer *regcache)
{
int ret, tid;
elf_fpregset_t regs;
/* Make sure REGS can hold all VFP registers contents on both aarch64
and arm. */
gdb_static_assert (sizeof regs >= VFP_REGS_SIZE);
- tid = ptid_get_lwp (regcache->ptid ());
+ tid = ptid.lwp ();
iovec.iov_base = ®s;
/* Implement the "store_registers" target_ops method. */
void
-aarch64_linux_nat_target::store_registers (struct regcache *regcache,
+aarch64_linux_nat_target::store_registers (ptid_t ptid, reg_buffer *regcache,
int regno)
{
if (regno == -1)
{
- store_gregs_to_thread (regcache);
- store_fpregs_to_thread (regcache);
+ store_gregs_to_thread (ptid, regcache);
+ store_fpregs_to_thread (ptid, regcache);
}
else if (regno < AARCH64_V0_REGNUM)
- store_gregs_to_thread (regcache);
+ store_gregs_to_thread (ptid, regcache);
else
- store_fpregs_to_thread (regcache);
+ store_fpregs_to_thread (ptid, regcache);
}
/* Fill register REGNO (if it is a general-purpose register) in
{
/* Add our register access methods. */
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
bool low_siginfo_fixup (siginfo_t *ptrace, gdb_byte *inf, int direction)
override;
registers). */
void
-amd64_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
+amd64_linux_nat_target::store_registers (ptid_t ptid,
+ reg_buffer *regcache, int regnum)
{
struct gdbarch *gdbarch = regcache->arch ();
- int tid;
-
- /* GNU/Linux LWP ID's are process ID's. */
- tid = ptid_get_lwp (regcache->ptid ());
- if (tid == 0)
- tid = ptid_get_pid (regcache->ptid ()); /* Not a threaded program. */
+ int tid = get_ptrace_pid (ptid);
if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
{
registers. */
void
-amd64_collect_native_gregset (const struct regcache *regcache,
+amd64_collect_native_gregset (const reg_buffer *regcache,
void *gregs, int regnum)
{
char *regs = (char *) gregs;
GREGS. If REGNUM is -1, collect and store all appropriate
registers. */
-extern void amd64_collect_native_gregset (const struct regcache *regcache,
+extern void amd64_collect_native_gregset (const reg_buffer *regcache,
void *gregs, int regnum);
#endif /* amd64-nat.h */
}
static void
-amd64obsd_collect_uthread (const struct regcache *regcache,
+amd64obsd_collect_uthread (const reg_buffer *regcache,
int regnum, CORE_ADDR addr)
{
struct gdbarch *gdbarch = regcache->arch ();
bits in *FXSAVE. */
void
-amd64_collect_fxsave (const struct regcache *regcache, int regnum,
+amd64_collect_fxsave (const reg_buffer *regcache, int regnum,
void *fxsave)
{
struct gdbarch *gdbarch = regcache->arch ();
/* Similar to amd64_collect_fxsave, but use XSAVE extended state. */
void
-amd64_collect_xsave (const struct regcache *regcache, int regnum,
+amd64_collect_xsave (const reg_buffer *regcache, int regnum,
void *xsave, int gcore)
{
struct gdbarch *gdbarch = regcache->arch ();
all registers. This function doesn't touch any of the reserved
bits in *FXSAVE. */
-extern void amd64_collect_fxsave (const struct regcache *regcache, int regnum,
+extern void amd64_collect_fxsave (const reg_buffer *regcache, int regnum,
void *fxsave);
/* Similar to amd64_collect_fxsave, but use XSAVE extended state. */
-extern void amd64_collect_xsave (const struct regcache *regcache,
+extern void amd64_collect_xsave (const reg_buffer *regcache,
int regnum, void *xsave, int gcore);
\f
/* Floating-point register set. */
void mourn_inferior () override;
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
void resume (ptid_t, int, enum gdb_signal) override;
void (*supply_uthread)(reg_buffer *, int, CORE_ADDR);
/* Collect registers for an inactive thread from a register cache. */
- void (*collect_uthread)(const struct regcache *, int, CORE_ADDR);
+ void (*collect_uthread)(const reg_buffer *, int, CORE_ADDR);
};
static void *
void
bsd_uthread_set_collect_uthread (struct gdbarch *gdbarch,
- void (*collect_uthread) (const struct regcache *,
- int, CORE_ADDR))
+ void (*collect_uthread) (const reg_buffer *,
+ int, CORE_ADDR))
{
struct bsd_uthread_ops *ops
= (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data);
}
void
-bsd_uthread_target::store_registers (struct regcache *regcache, int regnum)
+bsd_uthread_target::store_registers (ptid_t ptid, reg_buffer *regcache,
+ int regnum)
{
struct gdbarch *gdbarch = regcache->arch ();
struct bsd_uthread_ops *uthread_ops
= (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data);
struct target_ops *beneath = find_target_beneath (this);
- ptid_t ptid = regcache->ptid ();
CORE_ADDR addr = ptid_get_tid (ptid);
CORE_ADDR active_addr;
scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
{
/* Updating the thread that is currently running; pass the
request to the layer beneath. */
- beneath->store_registers (regcache, regnum);
+ beneath->store_registers (ptid, regcache, regnum);
}
}
architecture GDBARCH to SUPPLY_UTHREAD. */
extern void bsd_uthread_set_collect_uthread (struct gdbarch *gdbarch,
- void (*collect_uthread) (const struct regcache *,
+ void (*collect_uthread) (const reg_buffer *,
int, CORE_ADDR));
#endif /* bsd-uthread.h */
}
static void
-i386obsd_collect_uthread (const struct regcache *regcache,
+i386obsd_collect_uthread (const reg_buffer *regcache,
int regnum, CORE_ADDR addr)
{
struct gdbarch *gdbarch = regcache->arch ();
bits in *FXSAVE. */
void
-i387_collect_fxsave (const struct regcache *regcache, int regnum, void *fxsave)
+i387_collect_fxsave (const reg_buffer *regcache, int regnum, void *fxsave)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
gdb_byte *regs = (gdb_byte *) fxsave;
/* Similar to i387_collect_fxsave, but use XSAVE extended state. */
void
-i387_collect_xsave (const struct regcache *regcache, int regnum,
+i387_collect_xsave (const reg_buffer *regcache, int regnum,
void *xsave, int gcore)
{
struct gdbarch *gdbarch = regcache->arch ();
byte_order, I387_FCTRL_INIT_VAL);
else
memset (FXSAVE_ADDR (tdep, regs, i), 0,
- regcache_register_size (regcache, i));
+ register_size (gdbarch, i));
}
}
}
int regsize;
regcache->raw_collect (i, raw);
- regsize = regcache_register_size (regcache, i);
+ regsize = register_size (gdbarch, i);
p = FXSAVE_ADDR (tdep, regs, i);
if (memcmp (raw, p, regsize))
{
all registers. This function doesn't touch any of the reserved
bits in *FXSAVE. */
-extern void i387_collect_fxsave (const struct regcache *regcache, int regnum,
+extern void i387_collect_fxsave (const reg_buffer *regcache, int regnum,
void *fxsave);
/* Similar to i387_collect_fxsave, but use XSAVE extended state. */
-extern void i387_collect_xsave (const struct regcache *regcache,
+extern void i387_collect_xsave (const reg_buffer *regcache,
int regnum, void *xsave, int gcore);
/* Extract a bitset from XSAVE indicating which features are available in
void disconnect (const char *, int) override;
void fetch_registers (ptid_t, reg_buffer *, int) override = 0;
- void store_registers (struct regcache *, int) override = 0;
+ void store_registers (ptid_t, reg_buffer *, int) override = 0;
void prepare_to_store (struct regcache *) override;
= get_thread_arch_regcache (ptid, target_gdbarch ());
supply_gregset (regcache, (const gdb_gregset_t *) gregset);
- target_store_registers (regcache, -1);
+ target_store_registers (ptid, regcache, -1);
return PS_OK;
}
= get_thread_arch_regcache (ptid, target_gdbarch ());
supply_fpregset (regcache, (const gdb_fpregset_t *) fpregset);
- target_store_registers (regcache, -1);
+ target_store_registers (ptid, regcache, -1);
return PS_OK;
}
void resume (ptid_t, int, enum gdb_signal) override;
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
void prepare_to_store (struct regcache *) override;
}
void
-ravenscar_thread_target::store_registers (struct regcache *regcache,
+ravenscar_thread_target::store_registers (ptid_t ptid,
+ reg_buffer *regcache,
int regnum)
{
target_ops *beneath = find_target_beneath (this);
- ptid_t ptid = regcache->ptid ();
if (ravenscar_runtime_initialized ()
&& is_ravenscar_task (ptid)
struct ravenscar_arch_ops *arch_ops
= gdbarch_ravenscar_ops (gdbarch);
- beneath->store_registers (regcache, regnum);
+ beneath->store_registers (ptid, regcache, regnum);
}
else
- beneath->store_registers (regcache, regnum);
+ beneath->store_registers (ptid, regcache, regnum);
}
void
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
void prepare_to_store (struct regcache *) override;
const struct frame_unwind *get_unwinder () override;
/* The store_registers method of target record-btrace. */
void
-record_btrace_target::store_registers (struct regcache *regcache, int regno)
+record_btrace_target::store_registers (ptid_t ptid, reg_buffer *regcache,
+ int regno)
{
struct target_ops *t;
if (!record_btrace_generating_corefile
- && record_is_replaying (regcache->ptid ()))
+ && record_is_replaying (ptid))
error (_("Cannot write registers while replaying."));
gdb_assert (may_write_registers != 0);
- this->beneath->store_registers (regcache, regno);
+ this->beneath->store_registers (ptid, regcache, regno);
}
/* The prepare_to_store method of target record-btrace. */
void detach (inferior *, int) override;
void mourn_inferior () override;
void kill () override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
enum target_xfer_status xfer_partial (enum target_object object,
const char *annex,
gdb_byte *readbuf,
void kill () override;
void fetch_registers (ptid_t ptid, reg_buffer *regcache, int regno) override;
void prepare_to_store (struct regcache *regcache) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
enum target_xfer_status xfer_partial (enum target_object object,
const char *annex,
gdb_byte *readbuf,
/* Alloc a record_full_reg record entry. */
static inline struct record_full_entry *
-record_full_reg_alloc (struct regcache *regcache, int regnum)
+record_full_reg_alloc (reg_buffer *regcache, int regnum)
{
struct record_full_entry *rec;
struct gdbarch *gdbarch = regcache->arch ();
/* Record the value of a register NUM to record_full_arch_list. */
int
-record_full_arch_list_add_reg (struct regcache *regcache, int regnum)
+record_full_arch_list_add_reg (reg_buffer *regcache, int regnum)
{
struct record_full_entry *rec;
rec = record_full_reg_alloc (regcache, regnum);
- regcache->raw_read (regnum, record_full_get_loc (rec));
+ regcache->raw_collect (regnum, record_full_get_loc (rec));
record_full_arch_list_add (rec);
/* Record registers change (by user or by GDB) to list as an instruction. */
static void
-record_full_registers_change (struct regcache *regcache, int regnum)
+record_full_registers_change (reg_buffer *regcache, int regnum)
{
/* Check record_full_insn_num. */
record_full_check_insn_num ();
/* "store_registers" method for process record target. */
void
-record_full_target::store_registers (struct regcache *regcache, int regno)
+record_full_target::store_registers (ptid_t ptid, reg_buffer *regcache,
+ int regno)
{
if (!record_full_gdb_operation_disable)
{
record_full_registers_change (regcache, regno);
}
- this->beneath->store_registers (regcache, regno);
+ this->beneath->store_registers (ptid, regcache, regno);
}
/* "xfer_partial" method. Behavior is conditional on
/* "store_registers" method for prec over corefile. */
void
-record_full_core_target::store_registers (struct regcache *regcache,
+record_full_core_target::store_registers (ptid_t ptid, reg_buffer *regcache,
int regno)
{
if (record_full_gdb_operation_disable)
extern int record_full_memory_query;
-extern int record_full_arch_list_add_reg (struct regcache *regcache, int num);
+extern int record_full_arch_list_add_reg (reg_buffer *regcache, int num);
extern int record_full_arch_list_add_mem (CORE_ADDR addr, int len);
extern int record_full_arch_list_add_end (void);
/* See common/common-regcache.h. */
int
-regcache_register_size (const struct regcache *regcache, int n)
+regcache_register_size (const regcache *regcache, int n)
{
return register_size (regcache->arch (), n);
}
failure. */
regcache_invalidator invalidator (this, regnum);
- target_store_registers (this, regnum);
+ target_store_registers (ptid (), this, regnum);
/* The target did not throw an error so we can discard invalidating
the register. */
}
void fetch_registers (ptid_t ptid, reg_buffer *regs, int regno) override;
- void store_registers (regcache *regs, int regno) override;
+ void store_registers (ptid_t ptid, reg_buffer *regs, int regno) override;
enum target_xfer_status xfer_partial (enum target_object object,
const char *annex, gdb_byte *readbuf,
}
void
-target_ops_no_register::store_registers (regcache *regs, int regno)
+target_ops_no_register::store_registers (ptid_t ptid, reg_buffer *regs,
+ int regno)
{
this->store_registers_called++;
}
ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
void prepare_to_store (struct regcache *) override;
void files_info () override;
int send_g_packet ();
void process_g_packet (reg_buffer *regcache);
void fetch_registers_using_g (reg_buffer *regcache);
- int store_register_using_P (const struct regcache *regcache,
+ int store_register_using_P (const reg_buffer *regcache,
packet_reg *reg);
- void store_registers_using_G (const struct regcache *regcache);
+ void store_registers_using_G (const reg_buffer *regcache);
void set_remote_traceframe ();
packet was not recognized. */
int
-remote_target::store_register_using_P (const struct regcache *regcache,
+remote_target::store_register_using_P (const reg_buffer *regcache,
packet_reg *reg)
{
struct gdbarch *gdbarch = regcache->arch ();
contents of the register cache buffer. FIXME: ignores errors. */
void
-remote_target::store_registers_using_G (const struct regcache *regcache)
+remote_target::store_registers_using_G (const reg_buffer *regcache)
{
struct remote_state *rs = get_remote_state ();
remote_arch_state *rsa = rs->get_remote_arch_state (regcache->arch ());
of the register cache buffer. FIXME: ignores errors. */
void
-remote_target::store_registers (struct regcache *regcache, int regnum)
+remote_target::store_registers (ptid_t ptid, reg_buffer *regcache, int regnum)
{
struct gdbarch *gdbarch = regcache->arch ();
struct remote_state *rs = get_remote_state ();
int i;
set_remote_traceframe ();
- set_general_thread (regcache->ptid ());
+ set_general_thread (ptid);
if (regnum >= 0)
{
regcache_raw_write_signed (regcache, tdep->ppc_toc_regnum,
solib_aix_get_toc_value (func_addr));
- target_store_registers (regcache, -1);
+ target_store_registers (regcache->ptid (), regcache, -1);
return sp;
}
breakpoint. */
regcache_raw_write_signed (regcache, tdep->ppc_lr_regnum, bp_addr);
- target_store_registers (regcache, -1);
+ target_store_registers (regcache->ptid (), regcache, -1);
return sp;
}
}
static void
-sparc32obsd_collect_uthread(const struct regcache *regcache,
- int regnum, CORE_ADDR addr)
+sparc32obsd_collect_uthread (const reg_buffer *regcache, int regnum,
+ CORE_ADDR addr)
{
struct gdbarch *gdbarch = regcache->arch ();
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
}
void
-sparc_collect_rwindow (const struct regcache *regcache,
+sparc_collect_rwindow (const reg_buffer *regcache,
CORE_ADDR sp, int regnum)
{
struct gdbarch *gdbarch = regcache->arch ();
void
sparc32_supply_fpregset (const struct sparc_fpregmap *fpregmap,
- struct regcache *regcache,
+ reg_buffer *regcache,
int regnum, const void *fpregs)
{
const gdb_byte *regs = (const gdb_byte *) fpregs;
extern void sparc_supply_rwindow (reg_buffer *regcache,
CORE_ADDR sp, int regnum);
-extern void sparc_collect_rwindow (const struct regcache *regcache,
+extern void sparc_collect_rwindow (const reg_buffer *regcache,
CORE_ADDR sp, int regnum);
/* Register offsets for SunOS 4. */
}
static void
-sparc64obsd_collect_uthread(const struct regcache *regcache,
- int regnum, CORE_ADDR addr)
+sparc64obsd_collect_uthread (const reg_buffer *regcache,
+ int regnum, CORE_ADDR addr)
{
struct gdbarch *gdbarch = regcache->arch ();
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
void
sparc64_supply_fpregset (const struct sparc_fpregmap *fpregmap,
- struct regcache *regcache,
+ reg_buffer *regcache,
int regnum, const void *fpregs)
{
int sparc32 = (gdbarch_ptr_bit (regcache->arch ()) == 32);
void mourn_inferior () override;
void fetch_registers (ptid_t, reg_buffer *, int) override;
- void store_registers (struct regcache *, int) override;
+ void store_registers (ptid_t, reg_buffer *, int) override;
enum target_xfer_status xfer_partial (enum target_object object,
const char *annex,
/* Override the to_store_registers routine. */
void
-spu_multiarch_target::store_registers (struct regcache *regcache, int regno)
+spu_multiarch_target::store_registers (ptid_t ptid, reg_buffer *regcache,
+ int regno)
{
struct gdbarch *gdbarch = regcache->arch ();
struct target_ops *ops_beneath = find_target_beneath (this);
/* Since we use functions that rely on inferior_ptid, we need to set and
restore it. */
scoped_restore save_ptid
- = make_scoped_restore (&inferior_ptid, regcache->ptid ());
+ = make_scoped_restore (&inferior_ptid, ptid);
/* This version applies only if we're currently in spu_run. */
if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
{
- ops_beneath->store_registers (regcache, regno);
+ ops_beneath->store_registers (ptid, regcache, regno);
return;
}
void commit_resume () override;
ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
void fetch_registers (ptid_t arg0, reg_buffer *arg1, int arg2) override;
- void store_registers (struct regcache *arg0, int arg1) override;
+ void store_registers (ptid_t arg0, reg_buffer *arg1, int arg2) override;
void prepare_to_store (struct regcache *arg0) override;
void files_info () override;
int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
void commit_resume () override;
ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
void fetch_registers (ptid_t arg0, reg_buffer *arg1, int arg2) override;
- void store_registers (struct regcache *arg0, int arg1) override;
+ void store_registers (ptid_t arg0, reg_buffer *arg1, int arg2) override;
void prepare_to_store (struct regcache *arg0) override;
void files_info () override;
int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
}
void
-target_ops::store_registers (struct regcache *arg0, int arg1)
+target_ops::store_registers (ptid_t arg0, reg_buffer *arg1, int arg2)
{
- this->beneath->store_registers (arg0, arg1);
+ this->beneath->store_registers (arg0, arg1, arg2);
}
void
-dummy_target::store_registers (struct regcache *arg0, int arg1)
+dummy_target::store_registers (ptid_t arg0, reg_buffer *arg1, int arg2)
{
noprocess ();
}
void
-debug_target::store_registers (struct regcache *arg0, int arg1)
+debug_target::store_registers (ptid_t arg0, reg_buffer *arg1, int arg2)
{
fprintf_unfiltered (gdb_stdlog, "-> %s->store_registers (...)\n", this->beneath->shortname ());
- this->beneath->store_registers (arg0, arg1);
+ this->beneath->store_registers (arg0, arg1, arg2);
fprintf_unfiltered (gdb_stdlog, "<- %s->store_registers (", this->beneath->shortname ());
- target_debug_print_struct_regcache_p (arg0);
+ target_debug_print_ptid_t (arg0);
fputs_unfiltered (", ", gdb_stdlog);
- target_debug_print_int (arg1);
+ target_debug_print_reg_buffer_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg2);
fputs_unfiltered (")\n", gdb_stdlog);
}
}
void
-target_store_registers (struct regcache *regcache, int regno)
+target_store_registers (ptid_t ptid, reg_buffer *regcache, int regno)
{
if (!may_write_registers)
error (_("Writing to registers is not allowed (regno %d)"), regno);
- target_stack->store_registers (regcache, regno);
+ target_stack->store_registers (ptid, regcache, regno);
if (targetdebug)
{
regcache->debug_print_register ("target_store_registers", regno);
TARGET_DEFAULT_FUNC (default_target_wait);
virtual void fetch_registers (ptid_t, reg_buffer *, int)
TARGET_DEFAULT_IGNORE ();
- virtual void store_registers (struct regcache *, int)
+ virtual void store_registers (ptid_t, reg_buffer *, int)
TARGET_DEFAULT_NORETURN (noprocess ());
virtual void prepare_to_store (struct regcache *)
TARGET_DEFAULT_NORETURN (noprocess ());
/* Fetch at least register REGNO, or all regs if regno == -1. No result. */
-extern void target_fetch_registers (ptid_t ptid, reg_buffer *regcache, int regno);
+extern void target_fetch_registers (ptid_t ptid, reg_buffer *regcache,
+ int regno);
/* Store at least register REGNO, or all regs if REGNO == -1.
It can store as many registers as it wants to, so target_prepare_to_store
must have been previously called. Calls error() if there are problems. */
-extern void target_store_registers (struct regcache *regcache, int regs);
+extern void target_store_registers (ptid_t ptid, reg_buffer *regcache,
+ int regs);
/* Get ready to modify the registers array. On machines which store
individual registers, this doesn't need to do anything. On machines
{
}
- void store_registers (regcache *regs, int regno) override
+ void store_registers (ptid_t ptid, reg_buffer *regs, int regno) override
{
}
};