aboutsummaryrefslogtreecommitdiff
path: root/gdb/frv-tdep.c
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2004-03-13 01:24:20 +0000
committerKevin Buettner <kevinb@redhat.com>2004-03-13 01:24:20 +0000
commitb2d6d697ea2d4406beb407ee26ac116a1ab25f41 (patch)
treeb279090a5be7bb1d21d9f5a1403a7e5345d72237 /gdb/frv-tdep.c
parent34ce532e6451c08faebc9a07c0c668d61fede4b5 (diff)
downloadgdb-b2d6d697ea2d4406beb407ee26ac116a1ab25f41.zip
gdb-b2d6d697ea2d4406beb407ee26ac116a1ab25f41.tar.gz
gdb-b2d6d697ea2d4406beb407ee26ac116a1ab25f41.tar.bz2
Add FR450 support.
Diffstat (limited to 'gdb/frv-tdep.c')
-rw-r--r--gdb/frv-tdep.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c
index 6fd82f9..3b0fc1a 100644
--- a/gdb/frv-tdep.c
+++ b/gdb/frv-tdep.c
@@ -239,6 +239,15 @@ set_variant_abi_fdpic (struct gdbarch_tdep *var)
var->register_names[fdpic_loadmap_interp_regnum] = xstrdup ("loadmap_interp");
}
+static void
+set_variant_scratch_registers (struct gdbarch_tdep *var)
+{
+ var->register_names[scr0_regnum] = xstrdup ("scr0");
+ var->register_names[scr1_regnum] = xstrdup ("scr1");
+ var->register_names[scr2_regnum] = xstrdup ("scr2");
+ var->register_names[scr3_regnum] = xstrdup ("scr3");
+}
+
static const char *
frv_register_name (int reg)
{
@@ -1362,6 +1371,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
case bfd_mach_fr400:
+ case bfd_mach_fr450:
set_variant_num_gprs (var, 32);
set_variant_num_fprs (var, 32);
break;
@@ -1378,6 +1388,9 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
if (elf_flags & EF_FRV_FDPIC)
set_variant_abi_fdpic (var);
+ if (elf_flags & EF_FRV_CPU_FR450)
+ set_variant_scratch_registers (var);
+
gdbarch = gdbarch_alloc (&info, var);
set_gdbarch_short_bit (gdbarch, 16);
@@ -1448,6 +1461,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
case bfd_mach_fr400:
+ case bfd_mach_fr450:
/* fr400-style hardware debugging support. */
var->num_hw_watchpoints = 2;
var->num_hw_breakpoints = 4;