/* Target-specific definition for a Renesas Super-H.
- Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1993-2022 Free Software Foundation, Inc.
This file is part of GDB.
#ifndef SH_TDEP_H
#define SH_TDEP_H
-/* Contributed by Steve Chamberlain sac@cygnus.com */
+#include "gdbarch.h"
-/* Registers for all SH variants. Used also by sh3-rom.c. */
+/* Contributed by Steve Chamberlain sac@cygnus.com. */
+
+/* Registers for all SH variants. Used also by sh3-rom.c. */
enum
{
R0_REGNUM = 0,
FV_LAST_REGNUM = 79
};
-extern gdbarch_init_ftype sh64_gdbarch_init;
-extern void sh64_show_regs (struct frame_info *);
-
/* This structure describes a register in a core-file. */
struct sh_corefile_regmap
{
unsigned int offset;
};
-struct gdbarch_tdep
+struct sh_gdbarch_tdep : gdbarch_tdep
{
/* Non-NULL when debugging from a core file. Provides the offset
where each general-purpose register is stored inside the associated
core file section. */
- struct sh_corefile_regmap *core_gregmap;
+ struct sh_corefile_regmap *core_gregmap = nullptr;
+ int sizeof_gregset = 0;
/* Non-NULL when debugging from a core file and when FP registers are
available. Provides the offset where each FP register is stored
inside the associated core file section. */
- struct sh_corefile_regmap *core_fpregmap;
+ struct sh_corefile_regmap *core_fpregmap = nullptr;
+ int sizeof_fpregset = 0;
+ /* ISA-specific data types. */
+ struct type *sh_littlebyte_bigword_type = nullptr;
};
-extern struct regset sh_corefile_gregset;
+extern const struct regset sh_corefile_gregset;
void sh_corefile_supply_regset (const struct regset *regset,
struct regcache *regcache,