static void store_ppc_registers (int tid) { int i; struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); for (i = 0; i < ppc_num_gprs; i++) store_register (tid, tdep->ppc_gp0_regnum + i); if (tdep->ppc_fp0_regnum >= 0) for (i = 0; i < ppc_num_fprs; i++) store_register (tid, tdep->ppc_fp0_regnum + i); store_register (tid, PC_REGNUM); if (tdep->ppc_ps_regnum != -1) store_register (tid, tdep->ppc_ps_regnum); if (tdep->ppc_cr_regnum != -1) store_register (tid, tdep->ppc_cr_regnum); if (tdep->ppc_lr_regnum != -1) store_register (tid, tdep->ppc_lr_regnum); if (tdep->ppc_ctr_regnum != -1) store_register (tid, tdep->ppc_ctr_regnum); if (tdep->ppc_xer_regnum != -1) store_register (tid, tdep->ppc_xer_regnum); if (tdep->ppc_mq_regnum != -1) store_register (tid, tdep->ppc_mq_regnum); if (tdep->ppc_fpscr_regnum != -1) store_register (tid, tdep->ppc_fpscr_regnum); if (have_ptrace_getvrregs) if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1) store_altivec_registers (tid); if (tdep->ppc_ev0_upper_regnum >= 0) store_spe_register (tid, -1); }
static void store_ppc_registers (const struct regcache *regcache, int tid) { int i; struct gdbarch *gdbarch = get_regcache_arch (regcache); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); for (i = 0; i < ppc_num_gprs; i++) store_register (regcache, tid, tdep->ppc_gp0_regnum + i); if (tdep->ppc_fp0_regnum >= 0) for (i = 0; i < ppc_num_fprs; i++) store_register (regcache, tid, tdep->ppc_fp0_regnum + i); store_register (regcache, tid, gdbarch_pc_regnum (gdbarch)); if (tdep->ppc_ps_regnum != -1) store_register (regcache, tid, tdep->ppc_ps_regnum); if (tdep->ppc_cr_regnum != -1) store_register (regcache, tid, tdep->ppc_cr_regnum); if (tdep->ppc_lr_regnum != -1) store_register (regcache, tid, tdep->ppc_lr_regnum); if (tdep->ppc_ctr_regnum != -1) store_register (regcache, tid, tdep->ppc_ctr_regnum); if (tdep->ppc_xer_regnum != -1) store_register (regcache, tid, tdep->ppc_xer_regnum); if (tdep->ppc_mq_regnum != -1) store_register (regcache, tid, tdep->ppc_mq_regnum); if (tdep->ppc_fpscr_regnum != -1) store_register (regcache, tid, tdep->ppc_fpscr_regnum); if (ppc_linux_trap_reg_p (gdbarch)) { store_register (regcache, tid, PPC_ORIG_R3_REGNUM); store_register (regcache, tid, PPC_TRAP_REGNUM); } if (have_ptrace_getvrregs) if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1) store_altivec_registers (regcache, tid); if (have_ptrace_getsetvsxregs) if (tdep->ppc_vsr0_upper_regnum != -1) store_vsx_registers (regcache, tid); if (tdep->ppc_ev0_upper_regnum >= 0) store_spe_register (regcache, tid, -1); }