* shnbsd-nat.c (fetch_inferior_registers): Use shnbsd_supply_reg.
authorJason Thorpe <thorpej@netbsd.org>
Sat, 11 May 2002 19:30:27 +0000 (19:30 +0000)
committerJason Thorpe <thorpej@netbsd.org>
Sat, 11 May 2002 19:30:27 +0000 (19:30 +0000)
(store_inferior_registers): Use shnbsd_fill_reg.
* shnbsd-tdep.c (sh_nbsd_supply_registers,
sh_nbsd_supply_register): Collapse into...
(shnbsd_supply_reg): ...this.
(sh_nbsd_fill_registers, sh_nbsd_fill_register): Collapse into...
(shnbsd_fill_reg): ...this.
(sh_nbsd_solib_svr4_fetch_link_map_offsets): Rename to...
(shnbsd_solib_svr4_fetch_link_map_offsets): ...this.
(fetch_core_registers): Use shnbsd_supply_reg.
(fetch_elfcore_registers): Use shnbsd_supply_reg.
(sh_nbsd_core_fns): Rename to...
(shnbsd_core_fns): ...this.
(sh_nbsd_elfcore_fns): Rename to...
(shnbsd_elfcore_fns): ...this.
(sh_nbsd_init_abi): Rename to...
(shnbsd_init_abi): ...this.
(_initialize_sh_nbsd_tdep): Rename to...
(_initialize_shnbsd_tdep): ...this.
* shnbsd-tdep.h (sh_nbsd_supply_registers,
sh_nbsd_supply_register, sh_nbsd_fill_registers,
sh_nbsd_fill_register): Remove prototypes.
(shnbsd_supply_reg, shnbsd_fill_reg): Add prototypes.

gdb/ChangeLog
gdb/shnbsd-nat.c
gdb/shnbsd-tdep.c
gdb/shnbsd-tdep.h

index 870cd2a509e6ebb9e5a978fd0891e5e576433596..1540004997f4ef6072929ec25dc66f477ea62c21 100644 (file)
@@ -1,3 +1,29 @@
+2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * shnbsd-nat.c (fetch_inferior_registers): Use shnbsd_supply_reg.
+       (store_inferior_registers): Use shnbsd_fill_reg.
+       * shnbsd-tdep.c (sh_nbsd_supply_registers, 
+       sh_nbsd_supply_register): Collapse into...
+       (shnbsd_supply_reg): ...this.
+       (sh_nbsd_fill_registers, sh_nbsd_fill_register): Collapse into...
+       (shnbsd_fill_reg): ...this.
+       (sh_nbsd_solib_svr4_fetch_link_map_offsets): Rename to...
+       (shnbsd_solib_svr4_fetch_link_map_offsets): ...this.
+       (fetch_core_registers): Use shnbsd_supply_reg.
+       (fetch_elfcore_registers): Use shnbsd_supply_reg.
+       (sh_nbsd_core_fns): Rename to...
+       (shnbsd_core_fns): ...this.
+       (sh_nbsd_elfcore_fns): Rename to...
+       (shnbsd_elfcore_fns): ...this.
+       (sh_nbsd_init_abi): Rename to...
+       (shnbsd_init_abi): ...this.
+       (_initialize_sh_nbsd_tdep): Rename to...
+       (_initialize_shnbsd_tdep): ...this.
+       * shnbsd-tdep.h (sh_nbsd_supply_registers,
+       sh_nbsd_supply_register, sh_nbsd_fill_registers,
+       sh_nbsd_fill_register): Remove prototypes.
+       (shnbsd_supply_reg, shnbsd_fill_reg): Add prototypes.
+
 2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * Makefile.in (ALLDEPFILES): Remove i387-nat.c.
index 0367fde1a8f6e0d01a4dcc679aa01db1e115cd3d..e1b56e664051bc3037656e7c35a3565f2156bf2a 100644 (file)
@@ -46,7 +46,7 @@ fetch_inferior_registers (int regno)
                  (PTRACE_ARG3_TYPE) &inferior_registers, 0) == -1)
        perror_with_name ("Couldn't get registers");
 
-      sh_nbsd_supply_register ((char *) &inferior_registers, regno);
+      shnbsd_supply_reg ((char *) &inferior_registers, regno);
 
       if (regno != -1)
        return;
@@ -64,7 +64,7 @@ store_inferior_registers (int regno)
                  (PTRACE_ARG3_TYPE) &inferior_registers, 0) == -1)
        perror_with_name ("Couldn't get registers");
 
-      sh_nbsd_fill_register ((char *) &inferior_registers, regno);
+      shnbsd_fill_reg ((char *) &inferior_registers, regno);
 
       if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
                  (PTRACE_ARG3_TYPE) &inferior_registers, 0) == -1)
index a185b51a96f89c9232d1e4ca654baf442381fc03..8e503860f033cf812f6f834a005abe50247501e8 100644 (file)
@@ -52,73 +52,59 @@ static const int regmap[] =
 #define SIZEOF_STRUCT_REG (21 * 4)
 
 void
-sh_nbsd_supply_registers (char *regs)
+shnbsd_supply_reg (char *regs, int regno)
 {
-  int regno;
+  int i;
 
-  for (regno = R0_REGNUM; regno <= (R0_REGNUM + 15); regno++)
-    supply_register (regno, regs + regmap[regno - R0_REGNUM]);
-
-  supply_register (PC_REGNUM, regs + (0 * 4));
-  supply_register (SR_REGNUM, regs + (1 * 4));
-  supply_register (PR_REGNUM, regs + (2 * 4));
-  supply_register (MACH_REGNUM, regs + (3 * 4));
-  supply_register (MACL_REGNUM, regs + (4 * 4));
-}
-
-void
-sh_nbsd_supply_register (char *regs, int regno)
-{
-  if (regno == -1)
-    sh_nbsd_supply_registers (regs);
-
-  if (regno == PC_REGNUM)
+  if (regno == PC_REGNUM || regno == -1)
     supply_register (PC_REGNUM, regs + (0 * 4));
-  else if (regno == SR_REGNUM)
+
+  if (regno == SR_REGNUM || regno == -1)
     supply_register (SR_REGNUM, regs + (1 * 4));
-  else if (regno == PR_REGNUM)
+
+  if (regno == PR_REGNUM || regno == -1)
     supply_register (PR_REGNUM, regs + (2 * 4));
-  else if (regno == MACH_REGNUM)
-    supply_register (MACH_REGNUM, regs + (3 * 4));
-  else if (regno == MACL_REGNUM)
-    supply_register (MACL_REGNUM, regs + (4 * 4));
-  else if (regno >= R0_REGNUM && regno <= (R0_REGNUM + 15))
-    supply_register (regno, regs + regmap[regno - R0_REGNUM]);
-}
 
-void
-sh_nbsd_fill_registers (char *regs)
-{
-  int regno;
+  if (regno == MACH_REGNUM || regno == -1)
+    supply_register (MACH_REGNUM, regs + (3 * 4));
 
-  for (regno = R0_REGNUM; regno <= (R0_REGNUM + 15); regno++)
-    regcache_collect (regno, regs + regmap[regno - R0_REGNUM]);
+  if (regno == MACL_REGNUM || regno == -1)
+    supply_register (MACL_REGNUM, regs + (4 * 4));
 
-  regcache_collect (PC_REGNUM, regs + (0 * 4));
-  regcache_collect (SR_REGNUM, regs + (1 * 4));
-  regcache_collect (PR_REGNUM, regs + (2 * 4));
-  regcache_collect (MACH_REGNUM, regs + (3 * 4));
-  regcache_collect (MACL_REGNUM, regs + (4 * 4));
+  if ((regno >= R0_REGNUM && regno <= (R0_REGNUM + 15)) || regno == -1)
+    {
+      for (i = R0_REGNUM; i <= (R0_REGNUM + 15); i++)
+       if (regno == i || regno == -1)
+          supply_register (i, regs + regmap[i - R0_REGNUM]);
+    }
 }
 
 void
-sh_nbsd_fill_register (char *regs, int regno)
+shnbsd_fill_reg (char *regs, int regno)
 {
-  if (regno == -1)
-    sh_nbsd_fill_registers (regs);
+  int i;
 
-  if (regno == PC_REGNUM)
+  if (regno == PC_REGNUM || regno == -1)
     regcache_collect (PC_REGNUM, regs + (0 * 4));
-  else if (regno == SR_REGNUM)
+
+  if (regno == SR_REGNUM || regno == -1)
     regcache_collect (SR_REGNUM, regs + (1 * 4));
-  else if (regno == PR_REGNUM)
+
+  if (regno == PR_REGNUM || regno == -1)
     regcache_collect (PR_REGNUM, regs + (2 * 4));
-  else if (regno == MACH_REGNUM)
+
+  if (regno == MACH_REGNUM || regno == -1)
     regcache_collect (MACH_REGNUM, regs + (3 * 4));
-  else if (regno == MACL_REGNUM)
+
+  if (regno == MACL_REGNUM || regno == -1)
     regcache_collect (MACL_REGNUM, regs + (4 * 4));
-  else if (regno >= R0_REGNUM && regno <= (R0_REGNUM + 15))
-    regcache_collect (regno, regs + regmap[regno - R0_REGNUM]);
+
+  if ((regno >= R0_REGNUM && regno <= (R0_REGNUM + 15)) || regno == -1)
+    {
+      for (i = R0_REGNUM; i <= (R0_REGNUM + 15); i++)
+       if (regno == i || regno == -1)
+          regcache_collect (i, regs + regmap[i - R0_REGNUM]);
+    }
 }
 
 /* Fetch (and possibly build) an appropriate link_map_offsets
@@ -130,7 +116,7 @@ sh_nbsd_fill_register (char *regs, int regno)
    debugging).  */
 
 static struct link_map_offsets *
-sh_nbsd_solib_svr4_fetch_link_map_offsets (void)
+shnbsd_solib_svr4_fetch_link_map_offsets (void)
 {
   static struct link_map_offsets lmo;
   static struct link_map_offsets *lmp = NULL;
@@ -177,7 +163,7 @@ fetch_core_registers (char *core_reg_sect, unsigned core_reg_size,
     }
 
   /* Integer registers.  */
-  sh_nbsd_supply_registers (core_reg_sect);
+  shnbsd_supply_reg (core_reg_sect, -1);
 }
 
 static void
@@ -190,7 +176,7 @@ fetch_elfcore_registers (char *core_reg_sect, unsigned core_reg_size,
       if (core_reg_size != SIZEOF_STRUCT_REG)
        warning ("Wrong size register set in core file.");
       else
-       sh_nbsd_supply_registers (core_reg_sect);
+       shnbsd_supply_reg (core_reg_sect, -1);
       break;
 
     default:
@@ -199,7 +185,7 @@ fetch_elfcore_registers (char *core_reg_sect, unsigned core_reg_size,
     }
 }
 
-static struct core_fns sh_nbsd_core_fns =
+static struct core_fns shnbsd_core_fns =
 {
   bfd_target_unknown_flavour,          /* core_flavour */
   default_check_format,                        /* check_format */
@@ -208,7 +194,7 @@ static struct core_fns sh_nbsd_core_fns =
   NULL                                 /* next */
 };
 
-static struct core_fns sh_nbsd_elfcore_fns =
+static struct core_fns shnbsd_elfcore_fns =
 {
   bfd_target_elf_flavour,              /* core_flavour */
   default_check_format,                        /* check_format */
@@ -218,18 +204,18 @@ static struct core_fns sh_nbsd_elfcore_fns =
 };
 
 static void
-sh_nbsd_init_abi (struct gdbarch_info info,
+shnbsd_init_abi (struct gdbarch_info info,
                   struct gdbarch *gdbarch)
 {
   set_solib_svr4_fetch_link_map_offsets (gdbarch,
-                                  sh_nbsd_solib_svr4_fetch_link_map_offsets);
+                                  shnbsd_solib_svr4_fetch_link_map_offsets);
 }
 
 void
-_initialize_sh_nbsd_tdep (void)
+_initialize_shnbsd_tdep (void)
 {
-  add_core_fns (&sh_nbsd_core_fns);
-  add_core_fns (&sh_nbsd_elfcore_fns);
+  add_core_fns (&shnbsd_core_fns);
+  add_core_fns (&shnbsd_elfcore_fns);
 
-  sh_gdbarch_register_os_abi (SH_OSABI_NETBSD_ELF, sh_nbsd_init_abi);
+  sh_gdbarch_register_os_abi (SH_OSABI_NETBSD_ELF, shnbsd_init_abi);
 }
index ede2f93b8311facb3181419063020564610c0178..7364756bf568334bf025fcaf2011791763435a80 100644 (file)
 #ifndef SH_NBSD_TDEP_H
 #define SH_NBSD_TDEP_H
 
-void   sh_nbsd_supply_registers (char *);
-void   sh_nbsd_supply_register (char *, int);
-
-void   sh_nbsd_fill_registers (char *);
-void   sh_nbsd_fill_register (char *, int);
+void shnbsd_supply_reg (char *, int);
+void shnbsd_fill_reg (char *, int);
 
 #endif /* SH_NBSD_TDEP_H */