* gdb.texinfo (SVR4 Process Information, The isatty call)
[deliverable/binutils-gdb.git] / gdb / sparc64fbsd-nat.c
index 8cbcc38f451e5aa5eb0ba8b8b703960cf4e2ebdb..dab419ae3beae64e554b2c1170477c00138d8199 100644 (file)
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD/sparc64.
 
-   Copyright 2003 Free Software Foundation, Inc.
+   Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    Boston, MA 02111-1307, USA.  */
 
 #include "defs.h"
+#include "target.h"
 
+#include "fbsd-nat.h"
 #include "sparc64-tdep.h"
-#include "sparcbsd-nat.h"
-
-/* Determine whether `struct reg' contains register REGNUM.  */
-
-static int
-sparc64fbsd_reg_supplies_p (int regnum)
-{
-  /* Integer registers.  */
-  if ((regnum >= SPARC_G0_REGNUM && regnum <= SPARC_G7_REGNUM)
-      || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
-      || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
-      || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
-    return 1;
-
-  /* Control registers.  */
-  if (regnum == SPARC64_PC_REGNUM
-      || regnum == SPARC64_NPC_REGNUM
-      || regnum == SPARC64_STATE_REGNUM
-      || regnum == SPARC64_FPRS_REGNUM
-      || regnum == SPARC64_Y_REGNUM)
-    return 1;
-
-  return 0;
-}
-
-/* Determine whether `struct fpreg' contains register REGNUM.  */
-
-static int
-sparc64fbsd_fpreg_supplies_p (int regnum)
-{
-  /* Floating-point registers.  */
-  if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
-      || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM))
-    return 1;
-
-  /* Control registers.  */
-  if (regnum == SPARC64_FSR_REGNUM)
-    return 1;
-
-  return 0;
-}
+#include "sparc-nat.h"
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_sparc64fbsd_nat (void);
@@ -70,11 +32,14 @@ void _initialize_sparc64fbsd_nat (void);
 void
 _initialize_sparc64fbsd_nat (void)
 {
-  sparcbsd_supply_reg = sparc64fbsd_supply_reg;
-  sparcbsd_fill_reg = sparc64fbsd_fill_reg;
-  sparcbsd_supply_fpreg = sparc64fbsd_supply_fpreg;
-  sparcbsd_fill_fpreg = sparc64fbsd_fill_fpreg;
+  struct target_ops *t;
+
+  /* Add some extra features to the generic SPARC target.  */
+  t = sparc_target ();
+  t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
+  t->to_find_memory_regions = fbsd_find_memory_regions;
+  t->to_make_corefile_notes = fbsd_make_corefile_notes;
+  add_target (t);
 
-  sparcbsd_reg_supplies_p = sparc64fbsd_reg_supplies_p;
-  sparcbsd_fpreg_supplies_p = sparc64fbsd_reg_supplies_p;
+  sparc_gregset = &sparc64fbsd_gregset;
 }
This page took 0.02497 seconds and 4 git commands to generate.