summaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2003-09-08 11:26:21 +0000
committerCorinna Vinschen <corinna@vinschen.de>2003-09-08 11:26:21 +0000
commitc7a55143b4be769fd2baf3255965361bb8183bfe (patch)
tree5d397130ae9beea595db0733050a25e5d810ef78 /gdb/sh-tdep.h
parent3907f286b089a7de870fae9332d0ab39bb672359 (diff)
downloadgdb-c7a55143b4be769fd2baf3255965361bb8183bfe.tar.gz
* 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.
Diffstat (limited to 'gdb/sh-tdep.h')
-rw-r--r--gdb/sh-tdep.h49
1 files changed, 9 insertions, 40 deletions
diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
index c35964a0479..0d5847f97b7 100644
--- a/gdb/sh-tdep.h
+++ b/gdb/sh-tdep.h
@@ -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 */