* Makefile.in (sh_tdep_h): Define and use.
* config/sh/tm-sh.h (sh_osabi, sh_abi, gdbarch_tdep, register enum): Move to... * * sh-tdep.h: ...here. * sh-tdep.c: Include sh-tdep.h. * sh3-rom.c: Likewise. * shnbsd-tdep.c: Likewise.
This commit is contained in:
parent
fae1e84fb6
commit
ab3b81262e
@ -1,3 +1,13 @@
|
||||
2002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* Makefile.in (sh_tdep_h): Define and use.
|
||||
* config/sh/tm-sh.h (sh_osabi, sh_abi, gdbarch_tdep,
|
||||
register enum): Move to...
|
||||
* * sh-tdep.h: ...here.
|
||||
* sh-tdep.c: Include sh-tdep.h.
|
||||
* sh3-rom.c: Likewise.
|
||||
* shnbsd-tdep.c: Likewise.
|
||||
|
||||
2002-05-16 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* arm-tdep.c: Spelling fix in comment.
|
||||
|
@ -649,6 +649,7 @@ remote_h = remote.h
|
||||
remote_utils_h = remote-utils.h $(target_h)
|
||||
ser_unix_h = ser-unix.h
|
||||
serial_h = serial.h
|
||||
sh_tdep_h = sh-tdep.h
|
||||
solist_h = solist.h
|
||||
source_h = source.h
|
||||
stabsread_h = stabsread.h
|
||||
@ -2052,11 +2053,11 @@ serial.o: serial.c $(defs_h) $(serial_h) $(gdb_string_h)
|
||||
sh-tdep.o: sh-tdep.c $(bfd_h) $(dis_asm_h) \
|
||||
$(srcdir)/../opcodes/sh-opc.h $(defs_h) $(expression_h) $(frame_h) \
|
||||
$(gdbcmd_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(arch_utils_h) \
|
||||
$(regcache_h) $(doublest_h)
|
||||
$(regcache_h) $(doublest_h) $(sh_tdep_h)
|
||||
|
||||
sh3-rom.o: sh3-rom.c $(monitor_h) $(bfd_h) $(gdb_wait_h) $(defs_h) $(gdbcmd_h) \
|
||||
$(inferior_h) $(target_h) $(serial_h) $(terminal_h) $(arch_utils_h) \
|
||||
$(regcache_h)
|
||||
$(regcache_h) $(sh_tdep_h)
|
||||
|
||||
signals.o: signals/signals.c $(defs_h) $(target_h)
|
||||
$(CC) -c $(INTERNAL_CFLAGS) $<
|
||||
|
@ -23,100 +23,6 @@
|
||||
|
||||
#define GDB_MULTI_ARCH 1
|
||||
|
||||
/* Information that is dependent on the processor variant. */
|
||||
|
||||
/* ABI variants that we know about. If you add to this enum, please
|
||||
update the table of names in sh-tdep.c. */
|
||||
enum sh_osabi
|
||||
{
|
||||
SH_OSABI_UNKNOWN = 0,
|
||||
SH_OSABI_LINUX,
|
||||
SH_OSABI_NETBSD_ELF,
|
||||
|
||||
SH_OSABI_INVALID /* Keep this last. */
|
||||
};
|
||||
|
||||
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 */
|
||||
int A0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int A1G_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int A1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int M0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int M1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int X0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int X1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int Y0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int Y1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int MOD_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int SSR_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */
|
||||
int SPC_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */
|
||||
int RS_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int RE_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int DR0_REGNUM; /* sh4 */
|
||||
int DR_LAST_REGNUM; /* sh4 */
|
||||
int FV0_REGNUM; /* sh4 */
|
||||
int FV_LAST_REGNUM; /* sh4 */
|
||||
/* FPP stands for Floating Point Pair, to avoid confusion with
|
||||
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_ARGLAST_REGNUM;
|
||||
int RETURN_REGNUM;
|
||||
enum sh_osabi sh_osabi; /* OS/ABI of the inferior */
|
||||
const char *osabi_name; /* Name of the above */
|
||||
enum sh_abi sh_abi;
|
||||
};
|
||||
|
||||
/* Registers common to all the SH variants. */
|
||||
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 */
|
||||
GBR_REGNUM = 18,
|
||||
VBR_REGNUM = 19,
|
||||
MACH_REGNUM = 20,
|
||||
MACL_REGNUM = 21,
|
||||
SR_REGNUM = 22
|
||||
};
|
||||
|
||||
#define NUM_REALREGS 59 /* used in remote-e7000.c which is not multiarched. */
|
||||
|
||||
#define REGISTER_TYPE long /* used in standalone.c */
|
||||
|
@ -41,6 +41,8 @@
|
||||
#include "regcache.h"
|
||||
#include "doublest.h"
|
||||
|
||||
#include "sh-tdep.h"
|
||||
|
||||
#include "elf-bfd.h"
|
||||
#include "solib-svr4.h"
|
||||
|
||||
|
121
gdb/sh-tdep.h
Normal file
121
gdb/sh-tdep.h
Normal file
@ -0,0 +1,121 @@
|
||||
/* Target-specific definition for a Hitachi Super-H.
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef SH_TDEP_H
|
||||
#define SH_TDEP_H
|
||||
|
||||
/* Contributed by Steve Chamberlain sac@cygnus.com */
|
||||
|
||||
/* Information that is dependent on the processor variant. */
|
||||
|
||||
/* ABI variants that we know about. If you add to this enum, please
|
||||
update the table of names in sh-tdep.c. */
|
||||
enum sh_osabi
|
||||
{
|
||||
SH_OSABI_UNKNOWN = 0,
|
||||
SH_OSABI_LINUX,
|
||||
SH_OSABI_NETBSD_ELF,
|
||||
|
||||
SH_OSABI_INVALID /* Keep this last. */
|
||||
};
|
||||
|
||||
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 */
|
||||
int A0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int A1G_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int A1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int M0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int M1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int X0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int X1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int Y0_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int Y1_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int MOD_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int SSR_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */
|
||||
int SPC_REGNUM; /* sh3, sh3-dsp, sh3e, sh4 */
|
||||
int RS_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int RE_REGNUM; /* sh-dsp, sh3-dsp */
|
||||
int DR0_REGNUM; /* sh4 */
|
||||
int DR_LAST_REGNUM; /* sh4 */
|
||||
int FV0_REGNUM; /* sh4 */
|
||||
int FV_LAST_REGNUM; /* sh4 */
|
||||
/* FPP stands for Floating Point Pair, to avoid confusion with
|
||||
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_ARGLAST_REGNUM;
|
||||
int RETURN_REGNUM;
|
||||
enum sh_osabi sh_osabi; /* OS/ABI of the inferior */
|
||||
const char *osabi_name; /* Name of the above */
|
||||
enum sh_abi sh_abi;
|
||||
};
|
||||
|
||||
/* Registers common to all the SH variants. */
|
||||
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 */
|
||||
GBR_REGNUM = 18,
|
||||
VBR_REGNUM = 19,
|
||||
MACH_REGNUM = 20,
|
||||
MACL_REGNUM = 21,
|
||||
SR_REGNUM = 22
|
||||
};
|
||||
|
||||
#endif /* SH_TDEP_H */
|
@ -28,6 +28,8 @@
|
||||
#include "arch-utils.h"
|
||||
#include "regcache.h"
|
||||
|
||||
#include "sh-tdep.h"
|
||||
|
||||
static struct serial *parallel;
|
||||
static int parallel_in_use;
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "value.h"
|
||||
|
||||
#include "nbsd-tdep.h"
|
||||
#include "sh-tdep.h"
|
||||
#include "shnbsd-tdep.h"
|
||||
|
||||
/* Convert an r0-r15 register number into an offset into a ptrace
|
||||
|
Loading…
Reference in New Issue
Block a user