X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fppc-linux-nat.c;h=8e5c4f7a2e7e4098fd3b081a3e112889a6906d88;hb=9579e000174ef881b7c0db330757b7b69409e751;hp=25616c0f047c8aa0f024f1d78643bb3a5a1faf3c;hpb=e3f36dbd4775498d38cb5a6d24608c2c7626c209;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c index 25616c0f04..8e5c4f7a2e 100644 --- a/gdb/ppc-linux-nat.c +++ b/gdb/ppc-linux-nat.c @@ -20,6 +20,7 @@ Boston, MA 02111-1307, USA. */ #include "defs.h" +#include "gdb_string.h" #include "frame.h" #include "inferior.h" #include "gdbcore.h" @@ -475,21 +476,7 @@ store_inferior_registers (int regno) void supply_gregset (gdb_gregset_t *gregsetp) { - int regi; - register elf_greg_t *regp = (elf_greg_t *) gregsetp; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - for (regi = 0; regi < 32; regi++) - supply_register (regi, (char *) (regp + regi)); - - supply_register (PC_REGNUM, (char *) (regp + PT_NIP)); - supply_register (tdep->ppc_lr_regnum, (char *) (regp + PT_LNK)); - supply_register (tdep->ppc_cr_regnum, (char *) (regp + PT_CCR)); - supply_register (tdep->ppc_xer_regnum, (char *) (regp + PT_XER)); - supply_register (tdep->ppc_ctr_regnum, (char *) (regp + PT_CTR)); - if (tdep->ppc_mq_regnum != -1) - supply_register (tdep->ppc_mq_regnum, (char *) (regp + PT_MQ)); - supply_register (tdep->ppc_ps_regnum, (char *) (regp + PT_MSR)); + ppc_linux_supply_gregset ((char *) gregsetp); } void @@ -525,12 +512,7 @@ fill_gregset (gdb_gregset_t *gregsetp, int regno) void supply_fpregset (gdb_fpregset_t * fpregsetp) { - int regi; - struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); - - for (regi = 0; regi < 32; regi++) - supply_register (FP0_REGNUM + regi, (char *) (*fpregsetp + regi)); - supply_register (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + 32)); + ppc_linux_supply_fpregset ((char *) fpregsetp); } /* Given a pointer to a floating point register set in /proc format