mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
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.
This commit is contained in:
@ -144,6 +144,7 @@ struct gdbarch_tdep
|
||||
int wordsize; /* size in bytes of fixed-point word */
|
||||
const struct reg *regs; /* from current variant */
|
||||
int ppc_gp0_regnum; /* GPR register 0 */
|
||||
int ppc_gprs_pseudo_p; /* non-zero if GPRs are pseudo-registers */
|
||||
int ppc_toc_regnum; /* TOC register */
|
||||
int ppc_ps_regnum; /* Processor (or machine) status (%msr) */
|
||||
int ppc_cr_regnum; /* Condition register */
|
||||
|
Reference in New Issue
Block a user