objcopy/strip: Add option --remove-relocations=SECTIONPATTERN
[deliverable/binutils-gdb.git] / gdb / i386bsd-nat.c
index 5d45c3384b2828c7f37bfdcff2c647e728417740..b6b143b6227032e8f3a25be3d0f6e9ef32fd204a 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "i386-tdep.h"
 #include "i387-tdep.h"
+#include "x86bsd-nat.h"
 #include "i386bsd-nat.h"
 #include "inf-ptrace.h"
 \f
@@ -81,10 +82,6 @@ static int i386bsd_r_reg_offset[] =
    so that we try PT_GETXMMREGS the first time around.  */
 static int have_ptrace_xmmregs = -1;
 #endif
-
-#ifdef PT_GETXSTATE_INFO
-size_t i386bsd_xsave_len;
-#endif
 \f
 
 /* Supply the general-purpose registers in GREGS, to REGCACHE.  */
@@ -92,7 +89,7 @@ size_t i386bsd_xsave_len;
 static void
 i386bsd_supply_gregset (struct regcache *regcache, const void *gregs)
 {
-  const char *regs = gregs;
+  const char *regs = (const char *) gregs;
   int regnum;
 
   for (regnum = 0; regnum < ARRAY_SIZE (i386bsd_r_reg_offset); regnum++)
@@ -112,7 +109,7 @@ static void
 i386bsd_collect_gregset (const struct regcache *regcache,
                         void *gregs, int regnum)
 {
-  char *regs = gregs;
+  char *regs = (char *) gregs;
   int i;
 
   for (i = 0; i < ARRAY_SIZE (i386bsd_r_reg_offset); i++)
@@ -155,11 +152,11 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
 #endif
 
 #ifdef PT_GETXSTATE_INFO
-      if (i386bsd_xsave_len != 0)
+      if (x86bsd_xsave_len != 0)
        {
-         char *xstateregs;
+         void *xstateregs;
 
-         xstateregs = alloca (i386bsd_xsave_len);
+         xstateregs = alloca (x86bsd_xsave_len);
          if (ptrace (PT_GETXSTATE, get_ptrace_pid (inferior_ptid),
                      (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
            perror_with_name (_("Couldn't get extended state status"));
@@ -225,11 +222,11 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
 #endif
 
 #ifdef PT_GETXSTATE_INFO
-      if (i386bsd_xsave_len != 0)
+      if (x86bsd_xsave_len != 0)
        {
-         char *xstateregs;
+         void *xstateregs;
 
-         xstateregs = alloca (i386bsd_xsave_len);
+         xstateregs = alloca (x86bsd_xsave_len);
          if (ptrace (PT_GETXSTATE, get_ptrace_pid (inferior_ptid),
                      (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
            perror_with_name (_("Couldn't get extended state status"));
@@ -237,7 +234,7 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
          i387_collect_xsave (regcache, -1, xstateregs, 0);
 
          if (ptrace (PT_SETXSTATE, get_ptrace_pid (inferior_ptid),
-                     (PTRACE_TYPE_ARG3) xstateregs, i386bsd_xsave_len) == -1)
+                     (PTRACE_TYPE_ARG3) xstateregs, x86bsd_xsave_len) == -1)
            perror_with_name (_("Couldn't write extended state status"));
          return;
        }
@@ -283,91 +280,13 @@ i386bsd_target (void)
 {
   struct target_ops *t;
 
-  t = inf_ptrace_target ();
+  t = x86bsd_target ();
   t->to_fetch_registers = i386bsd_fetch_inferior_registers;
   t->to_store_registers = i386bsd_store_inferior_registers;
   return t;
 }
 \f
 
-/* Support for debug registers.  */
-
-#ifdef HAVE_PT_GETDBREGS
-
-/* Not all versions of FreeBSD/i386 that support the debug registers
-   have this macro.  */
-#ifndef DBREG_DRX
-#define DBREG_DRX(d, x) ((&d->dr0)[x])
-#endif
-
-static unsigned long
-i386bsd_dr_get (ptid_t ptid, int regnum)
-{
-  struct dbreg dbregs;
-
-  if (ptrace (PT_GETDBREGS, get_ptrace_pid (inferior_ptid),
-             (PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
-    perror_with_name (_("Couldn't read debug registers"));
-
-  return DBREG_DRX ((&dbregs), regnum);
-}
-
-static void
-i386bsd_dr_set (int regnum, unsigned int value)
-{
-  struct dbreg dbregs;
-
-  if (ptrace (PT_GETDBREGS, get_ptrace_pid (inferior_ptid),
-              (PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
-    perror_with_name (_("Couldn't get debug registers"));
-
-  /* For some mysterious reason, some of the reserved bits in the
-     debug control register get set.  Mask these off, otherwise the
-     ptrace call below will fail.  */
-  DBREG_DRX ((&dbregs), 7) &= ~(0x0000fc00);
-
-  DBREG_DRX ((&dbregs), regnum) = value;
-
-  if (ptrace (PT_SETDBREGS, get_ptrace_pid (inferior_ptid),
-              (PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
-    perror_with_name (_("Couldn't write debug registers"));
-}
-
-void
-i386bsd_dr_set_control (unsigned long control)
-{
-  i386bsd_dr_set (7, control);
-}
-
-void
-i386bsd_dr_set_addr (int regnum, CORE_ADDR addr)
-{
-  gdb_assert (regnum >= 0 && regnum <= 4);
-
-  i386bsd_dr_set (regnum, addr);
-}
-
-CORE_ADDR
-i386bsd_dr_get_addr (int regnum)
-{
-  return i386bsd_dr_get (inferior_ptid, regnum);
-}
-
-unsigned long
-i386bsd_dr_get_status (void)
-{
-  return i386bsd_dr_get (inferior_ptid, 6);
-}
-
-unsigned long
-i386bsd_dr_get_control (void)
-{
-  return i386bsd_dr_get (inferior_ptid, 7);
-}
-
-#endif /* PT_GETDBREGS */
-\f
-
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_i386bsd_nat (void);
 
This page took 0.027031 seconds and 4 git commands to generate.