diff options
author | Jim Blandy <jimb@codesourcery.com> | 2004-06-07 23:37:20 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2004-06-07 23:37:20 +0000 |
commit | 019048261d3aa32a3ab50e00d3be1b257ac39c1f (patch) | |
tree | c361394eea190181e95ea98c866fd9ced73e15ce /gdb/rs6000-tdep.c | |
parent | f90ef76436a03dabd37dadb4255eb0776c7d16ee (diff) | |
download | gdb-019048261d3aa32a3ab50e00d3be1b257ac39c1f.zip gdb-019048261d3aa32a3ab50e00d3be1b257ac39c1f.tar.gz gdb-019048261d3aa32a3ab50e00d3be1b257ac39c1f.tar.bz2 |
Add native Linux support for the PowerPC E500.
* ppc-tdep.h (struct gdbarch_tdep): New member: 'ppc_gprs_pseudo_p'.
* rs6000-tdep.c (rs6000_gdbarch_init): Initialize it to false on
all architectures except the E500.
* ppc-linux-nat.c: (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): New
#definitions.
(struct gdb_evrregset_t): New type.
(have_ptrace_getsetevrregs): New variable.
(get_spe_registers, read_spliced_spe_reg, fetch_spe_register,
fetch_spe_registers): New functions.
(fetch_register): Call fetch_spe_register as appropriate.
Assert that we're only passed raw register numbers.
(fetch_ppc_registers): Call fetch_spe_registers as appropriate.
Don't fetch gprs if they're pseudoregisters.
(set_spe_registers, write_spliced_spe_reg, store_spe_register,
store_spe_registers): New functions.
(store_register): Call store_spe_register as appropriate.
Assert that we're only passed raw register numbers.
(store_ppc_registers): Call store_spe_registers as appropriate.
Don't store gprs if they're pseudoregisters.
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r-- | gdb/rs6000-tdep.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 9cd744b..1bed464 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -2872,6 +2872,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep->regs = v->regs; tdep->ppc_gp0_regnum = 0; + tdep->ppc_gprs_pseudo_p = 0; tdep->ppc_toc_regnum = 2; tdep->ppc_ps_regnum = 65; tdep->ppc_cr_regnum = 66; @@ -2927,6 +2928,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) break; case bfd_mach_ppc_e500: tdep->ppc_gp0_regnum = 41; + tdep->ppc_gprs_pseudo_p = 1; tdep->ppc_toc_regnum = -1; tdep->ppc_ps_regnum = 1; tdep->ppc_cr_regnum = 2; |