* 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

@ -1,3 +1,20 @@
2003-09-08 Corinna Vinschen <vinschen@redhat.com>
* 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.
2003-09-07 Daniel Jacobowitz <drow@mvista.com>
* lin-lwp.c (detach_callback): Don't call stop_wait_callback.

View file

@ -1295,7 +1295,7 @@ ALLDEPFILES = \
rs6000-nat.c rs6000-tdep.c \
s390-tdep.c s390-nat.c \
ser-go32.c ser-pipe.c ser-tcp.c \
sh-tdep.c shnbsd-tdep.c shnbsd-nat.c \
sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
solib.c solib-irix.c solib-svr4.c solib-sunos.c sparc-linux-nat.c \
sparc-nat.c \
sparc64nbsd-nat.c sparcnbsd-nat.c sparcnbsd-tdep.c \
@ -2261,6 +2261,11 @@ sh-tdep.o: sh-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(symfile_h) \
$(inferior_h) $(gdb_string_h) $(arch_utils_h) $(floatformat_h) \
$(regcache_h) $(doublest_h) $(osabi_h) $(sh_tdep_h) $(elf_bfd_h) \
$(solib_svr4_h) $(elf_sh_h) $(gdb_sim_sh_h)
sh64-tdep.o: sh64-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(symfile_h) \
$(gdbtypes_h) $(gdbcmd_h) $(gdbcore_h) $(value_h) $(dis_asm_h) \
$(inferior_h) $(gdb_string_h) $(arch_utils_h) $(floatformat_h) \
$(regcache_h) $(doublest_h) $(osabi_h) $(elf_bfd_h) \
$(solib_svr4_h) $(elf_sh_h) $(gdb_sim_sh_h)
solib-aix5.o: solib-aix5.c $(defs_h) $(gdb_string_h) $(elf_external_h) \
$(symtab_h) $(bfd_h) $(symfile_h) $(objfiles_h) $(gdbcore_h) \
$(command_h) $(target_h) $(frame_h) $(gdb_regex_h) $(inferior_h) \

View file

@ -1,5 +1,5 @@
# Target: Embedded Hitachi Super-H with ICE and simulator
TDEPFILES= sh-tdep.o monitor.o sh3-rom.o remote-e7000.o ser-e7kpc.o dsrec.o
TDEPFILES= sh-tdep.o sh64-tdep.o monitor.o sh3-rom.o remote-e7000.o ser-e7kpc.o dsrec.o
TM_FILE= tm-sh.h
SIM_OBS = remote-sim.o

View file

@ -1,5 +1,5 @@
# Target: Hitachi Super-H running GNU/Linux
TDEPFILES= sh-tdep.o monitor.o sh3-rom.o remote-e7000.o ser-e7kpc.o dsrec.o solib.o solib-svr4.o solib-legacy.o
TDEPFILES= sh-tdep.o sh64-tdep.o monitor.o sh3-rom.o remote-e7000.o ser-e7kpc.o dsrec.o solib.o solib-svr4.o solib-legacy.o
TM_FILE= tm-linux.h
SIM_OBS = remote-sim.o

View file

@ -1,5 +1,5 @@
# Target: SuperH running NetBSD
TDEPFILES= sh-tdep.o shnbsd-tdep.o corelow.o nbsd-tdep.o solib.o solib-svr4.o
TDEPFILES= sh-tdep.o sh64-tdep.o shnbsd-tdep.o corelow.o nbsd-tdep.o solib.o solib-svr4.o
TM_FILE= tm-nbsd.h
SIM_OBS = remote-sim.o

View file

@ -25,8 +25,6 @@
#define NUM_REALREGS 59 /* used in remote-e7000.c which is not multiarched. */
#define REGISTER_TYPE long /* used in standalone.c */
#define DEPRECATED_BIG_REMOTE_BREAKPOINT { 0xc3, 0x20 } /* Used in remote.c */
#define DEPRECATED_LITTLE_REMOTE_BREAKPOINT { 0x20, 0xc3 } /* Used in remote.c */

View file

@ -1,5 +1,5 @@
# Target: Hitachi Super-H running on Windows CE
TDEPFILES= sh-tdep.o wince.o
TDEPFILES= sh-tdep.o sh64-tdep.o wince.o
TM_FILE= tm-wince.h
MT_CFLAGS=-DSHx -U_X86_ -U_M_IX86 -U__i386__ -U__i486__ -U__i586__ -U__i686__ -DUNICODE -D_WIN32_WCE -DWINCE_STUB='"${target_alias}-stub.exe"'
TM_CLIBS=-lrapi

View file

@ -195,6 +195,7 @@ s390x-*-*) gdb_target=s390x
sh*-*-pe) gdb_target=wince ;;
sh-*-coff*) gdb_target=embed ;;
sh-*-elf*) gdb_target=embed ;;
# FIXME should that be sh*-*-linux*, perhaps?
sh-*-linux*) gdb_target=linux
build_gdbserver=yes
;;

File diff suppressed because it is too large Load diff

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

2949
gdb/sh64-tdep.c Normal file

File diff suppressed because it is too large Load diff