forked from Imagelibrary/binutils-gdb
* Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
(sh64-tdep.o): Add dependencies. * configure.tgt: Add FIXME to sh-*-linux*. * sh-tdep.c: Move sh64 support to sh64-tdep.c. (sh_gdbarch_init): Always set correct sh_show_regs function pointer. Call sh64_gdbarch_init() if machine type is sh5. * sh-tdep.h: Move sh64 support to sh64-tdep.c. * sh64-tdep.c: New file, containing all sh64 related code from sh-tdep.c. * config/sh/embed.mt (TDEPFILES): Add sh64-tdep.o. * config/sh/linux.mt (TDEPFILES): Ditto. * config/sh/nbsd.mt (TDEPFILES): Ditto. * config/sh/tm-sh.h: Drop REGISTER_TYPE definition. * config/sh/wince.mt (TDEPFILES): Ditto.
This commit is contained in:
@@ -24,21 +24,10 @@
|
||||
|
||||
/* Contributed by Steve Chamberlain sac@cygnus.com */
|
||||
|
||||
/* Information that is dependent on the processor variant. */
|
||||
|
||||
enum sh_abi
|
||||
{
|
||||
SH_ABI_UNKNOWN,
|
||||
SH_ABI_32,
|
||||
SH_ABI_64
|
||||
};
|
||||
|
||||
struct gdbarch_tdep
|
||||
{
|
||||
int PR_REGNUM;
|
||||
int FPUL_REGNUM; /* sh3e, sh4 */
|
||||
int FPSCR_REGNUM; /* sh3e, sh4 */
|
||||
int SR_REGNUM; /* sh-dsp, sh3, sh3-dsp, sh3e, sh4 */
|
||||
int DSR_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int FP_LAST_REGNUM; /* sh3e, sh4 */
|
||||
int A0G_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
@@ -64,31 +53,6 @@ struct gdbarch_tdep
|
||||
GDB's FP0_REGNUM, which is the number of the first Floating
|
||||
point register. Unfortunately on the sh5, the floating point
|
||||
registers are called FR, and the floating point pairs are called FP. */
|
||||
int TR7_REGNUM; /* sh5-media*/
|
||||
int FPP0_REGNUM; /* sh5-media*/
|
||||
int FPP_LAST_REGNUM; /* sh5-media*/
|
||||
int R0_C_REGNUM; /* sh5-compact*/
|
||||
int R_LAST_C_REGNUM; /* sh5-compact*/
|
||||
int PC_C_REGNUM; /* sh5-compact*/
|
||||
int GBR_C_REGNUM; /* sh5-compact*/
|
||||
int MACH_C_REGNUM; /* sh5-compact*/
|
||||
int MACL_C_REGNUM; /* sh5-compact*/
|
||||
int PR_C_REGNUM; /* sh5-compact*/
|
||||
int T_C_REGNUM; /* sh5-compact*/
|
||||
int FPSCR_C_REGNUM; /* sh5-compact*/
|
||||
int FPUL_C_REGNUM; /* sh5-compact*/
|
||||
int FP0_C_REGNUM; /* sh5-compact*/
|
||||
int FP_LAST_C_REGNUM; /* sh5-compact*/
|
||||
int DR0_C_REGNUM; /* sh5-compact*/
|
||||
int DR_LAST_C_REGNUM; /* sh5-compact*/
|
||||
int FV0_C_REGNUM; /* sh5-compact*/
|
||||
int FV_LAST_C_REGNUM; /* sh5-compact*/
|
||||
int ARG0_REGNUM;
|
||||
int ARGLAST_REGNUM;
|
||||
int FLOAT_ARG0_REGNUM; /* sh4 */
|
||||
int FLOAT_ARGLAST_REGNUM; /* sh4, sh5 */
|
||||
int RETURN_REGNUM;
|
||||
enum sh_abi sh_abi;
|
||||
};
|
||||
|
||||
/* Registers common to all the SH variants. */
|
||||
@@ -96,14 +60,19 @@ enum
|
||||
{
|
||||
R0_REGNUM = 0,
|
||||
STRUCT_RETURN_REGNUM = 2,
|
||||
ARG0_REGNUM = 4, /* Used in h8300-tdep.c */
|
||||
ARGLAST_REGNUM = 7, /* Used in h8300-tdep.c */
|
||||
PR_REGNUM = 17, /* used in sh3-rom.c */
|
||||
ARG0_REGNUM = 4,
|
||||
ARGLAST_REGNUM = 7,
|
||||
PR_REGNUM = 17,
|
||||
GBR_REGNUM = 18,
|
||||
VBR_REGNUM = 19,
|
||||
MACH_REGNUM = 20,
|
||||
MACL_REGNUM = 21,
|
||||
SR_REGNUM = 22
|
||||
SR_REGNUM = 22,
|
||||
FLOAT_ARG0_REGNUM = 29,
|
||||
FLOAT_ARGLAST_REGNUM = 36
|
||||
};
|
||||
|
||||
extern gdbarch_init_ftype sh64_gdbarch_init;
|
||||
extern void sh64_show_regs (void);
|
||||
|
||||
#endif /* SH_TDEP_H */
|
||||
|
||||
Reference in New Issue
Block a user