diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-06 14:30:45 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-06 14:30:45 +0000 |
commit | 468e3d51268b65763ec2df63146968944c8cc607 (patch) | |
tree | 5ee66afbf7357887b7da616252916bc3378e6489 | |
parent | 4e3269e3f1da68dc6a5e3d36630cf8a833e935d6 (diff) | |
download | gdb-468e3d51268b65763ec2df63146968944c8cc607.zip gdb-468e3d51268b65763ec2df63146968944c8cc607.tar.gz gdb-468e3d51268b65763ec2df63146968944c8cc607.tar.bz2 |
* i386-nto-tdep.c (i386nto_supply_gregset, i386nto_supply_fpregset):
Add REGCACHE parameter. Use it instead of current_regcache.
(i386nto_supply_regset): Add REGCACHE parameter, pass it to
i386nto_supply_gregset and i386nto_supply_fpregset.
(i386nto_regset_fill): Add REGCACHE parameter; use it instead
of current_regcache.
* nto-procfs.c (procfs_fetch_registers): Pass current_regcache to
nto_supply_ helper functions.
(procfs_store_registers): Pass current_regcache to nto_regset_fill.
* nto-tdep.c (nto_dummy_supply_regset): Add REGCACHE parameter.
* nto-tdep.h (struct nto_target_ops): Add REGCACHE parameter to
supply_greget, supply_fpregset, supply_altregset, supply_regset,
and regset_fill member function pointers.
(nto_dummy_supply_regset): Adapt prototype.
-rw-r--r-- | gdb/ChangeLog | 20 | ||||
-rw-r--r-- | gdb/i386-nto-tdep.c | 24 | ||||
-rw-r--r-- | gdb/nto-procfs.c | 8 | ||||
-rw-r--r-- | gdb/nto-tdep.c | 2 | ||||
-rw-r--r-- | gdb/nto-tdep.h | 12 |
5 files changed, 43 insertions, 23 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c49861c..91177cd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,25 @@ 2007-05-06 Ulrich Weigand <uweigand@de.ibm.com> + * i386-nto-tdep.c (i386nto_supply_gregset, i386nto_supply_fpregset): + Add REGCACHE parameter. Use it instead of current_regcache. + (i386nto_supply_regset): Add REGCACHE parameter, pass it to + i386nto_supply_gregset and i386nto_supply_fpregset. + (i386nto_regset_fill): Add REGCACHE parameter; use it instead + of current_regcache. + + * nto-procfs.c (procfs_fetch_registers): Pass current_regcache to + nto_supply_ helper functions. + (procfs_store_registers): Pass current_regcache to nto_regset_fill. + + * nto-tdep.c (nto_dummy_supply_regset): Add REGCACHE parameter. + + * nto-tdep.h (struct nto_target_ops): Add REGCACHE parameter to + supply_greget, supply_fpregset, supply_altregset, supply_regset, + and regset_fill member function pointers. + (nto_dummy_supply_regset): Adapt prototype. + +2007-05-06 Ulrich Weigand <uweigand@de.ibm.com> + * shnbsd-tdep.c (shnbsd_supply_reg): Add REGCACHE parameter, use it instead of current_regcache. Make REGS const. (shnbsd_fill_reg): Add REGCACHE parameter; replace current_regcache. diff --git a/gdb/i386-nto-tdep.c b/gdb/i386-nto-tdep.c index f617faf..30e72f1 100644 --- a/gdb/i386-nto-tdep.c +++ b/gdb/i386-nto-tdep.c @@ -81,7 +81,7 @@ nto_reg_offset (int regnum) } static void -i386nto_supply_gregset (char *gpregs) +i386nto_supply_gregset (struct regcache *regcache, char *gpregs) { struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); @@ -90,29 +90,29 @@ i386nto_supply_gregset (char *gpregs) i386_collect_gregset); gdb_assert (tdep->gregset_reg_offset == i386nto_gregset_reg_offset); - tdep->gregset->supply_regset (tdep->gregset, current_regcache, -1, + tdep->gregset->supply_regset (tdep->gregset, regcache, -1, gpregs, NUM_GPREGS * 4); } static void -i386nto_supply_fpregset (char *fpregs) +i386nto_supply_fpregset (struct regcache *regcache, char *fpregs) { if (nto_cpuinfo_valid && nto_cpuinfo_flags | X86_CPU_FXSR) - i387_supply_fxsave (current_regcache, -1, fpregs); + i387_supply_fxsave (regcache, -1, fpregs); else - i387_supply_fsave (current_regcache, -1, fpregs); + i387_supply_fsave (regcache, -1, fpregs); } static void -i386nto_supply_regset (int regset, char *data) +i386nto_supply_regset (struct regcache *regcache, int regset, char *data) { switch (regset) { case NTO_REG_GENERAL: - i386nto_supply_gregset (data); + i386nto_supply_gregset (regcache, data); break; case NTO_REG_FLOAT: - i386nto_supply_fpregset (data); + i386nto_supply_fpregset (regcache, data); break; } } @@ -177,7 +177,7 @@ i386nto_register_area (int regno, int regset, unsigned *off) } static int -i386nto_regset_fill (int regset, char *data) +i386nto_regset_fill (const struct regcache *regcache, int regset, char *data) { if (regset == NTO_REG_GENERAL) { @@ -187,15 +187,15 @@ i386nto_regset_fill (int regset, char *data) { int offset = nto_reg_offset (regno); if (offset != -1) - regcache_raw_collect (current_regcache, regno, data + offset); + regcache_raw_collect (regcache, regno, data + offset); } } else if (regset == NTO_REG_FLOAT) { if (nto_cpuinfo_valid && nto_cpuinfo_flags | X86_CPU_FXSR) - i387_collect_fxsave (current_regcache, -1, data); + i387_collect_fxsave (regcache, -1, data); else - i387_collect_fsave (current_regcache, -1, data); + i387_collect_fsave (regcache, -1, data); } else return -1; diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c index bd4cfe9..8140840 100644 --- a/gdb/nto-procfs.c +++ b/gdb/nto-procfs.c @@ -727,13 +727,13 @@ procfs_fetch_registers (int regno) procfs_set_thread (inferior_ptid); if (devctl (ctl_fd, DCMD_PROC_GETGREG, ®, sizeof (reg), ®size) == EOK) - nto_supply_gregset ((char *) ®.greg); + nto_supply_gregset (current_regcache, (char *) ®.greg); if (devctl (ctl_fd, DCMD_PROC_GETFPREG, ®, sizeof (reg), ®size) == EOK) - nto_supply_fpregset ((char *) ®.fpreg); + nto_supply_fpregset (current_regcache, (char *) ®.fpreg); if (devctl (ctl_fd, DCMD_PROC_GETALTREG, ®, sizeof (reg), ®size) == EOK) - nto_supply_altregset ((char *) ®.altreg); + nto_supply_altregset (current_regcache, (char *) ®.altreg); } /* Copy LEN bytes to/from inferior's memory starting at MEMADDR @@ -1173,7 +1173,7 @@ procfs_store_registers (int regno) if (dev_set == -1) continue; - if (nto_regset_fill (regset, (char *) ®) == -1) + if (nto_regset_fill (current_regcache, regset, (char *) ®) == -1) continue; err = devctl (ctl_fd, dev_set, ®, regsize, 0); diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c index 44a1a4e..b0cc87c 100644 --- a/gdb/nto-tdep.c +++ b/gdb/nto-tdep.c @@ -339,7 +339,7 @@ nto_generic_supply_altregset (const struct regset *regset, } void -nto_dummy_supply_regset (char *regs) +nto_dummy_supply_regset (struct regcache *regcache, char *regs) { /* Do nothing. */ } diff --git a/gdb/nto-tdep.h b/gdb/nto-tdep.h index df77a93..a688ad9 100644 --- a/gdb/nto-tdep.h +++ b/gdb/nto-tdep.h @@ -51,14 +51,14 @@ struct nto_target_ops regset it came from. If reg == -1 update all regsets. */ int (*regset_id) (int); - void (*supply_gregset) (char *); + void (*supply_gregset) (struct regcache *, char *); - void (*supply_fpregset) (char *); + void (*supply_fpregset) (struct regcache *, char *); - void (*supply_altregset) (char *); + void (*supply_altregset) (struct regcache *, char *); /* Given a regset, tell gdb about registers stored in data. */ - void (*supply_regset) (int, char *); + void (*supply_regset) (struct regcache *, int, char *); /* Given a register and regset, calculate the offset into the regset and stuff it into the last argument. If regno is -1, calculate the @@ -68,7 +68,7 @@ struct nto_target_ops /* Build the Neutrino register set info into the data buffer. Return -1 if unknown regset, 0 otherwise. */ - int (*regset_fill) (int, char *); + int (*regset_fill) (const struct regcache *, int, char *); /* Gives the fetch_link_map_offsets function exposure outside of solib-svr4.c so that we can override relocate_section_addresses(). */ @@ -174,7 +174,7 @@ void nto_generic_supply_altregset (const struct regset *, struct regcache *, /* Dummy function for initializing nto_target_ops on targets which do not define a particular regset. */ -void nto_dummy_supply_regset (char *regs); +void nto_dummy_supply_regset (struct regcache *regcache, char *regs); int nto_in_dynsym_resolve_code (CORE_ADDR pc); |