* 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:
Corinna Vinschen
2003-09-08 11:26:21 +00:00
parent d8a2d9e7ba
commit 55ff77acc2
11 changed files with 3055 additions and 2539 deletions

View File

@@ -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 */