Move construction of IA-32 vector types to i386-tdep.c.
[deliverable/binutils-gdb.git] / gdb / amd64bsd-nat.c
index b30885aa76364612b15f0f770e12285e14bcf87e..2882cec6ac4ffd326c46ddc240ac68744114e6fc 100644 (file)
@@ -22,6 +22,7 @@
 #include "defs.h"
 #include "inferior.h"
 #include "regcache.h"
+#include "target.h"
 
 /* We include <signal.h> to make sure `struct fxsave64' is defined on
    NetBSD, since NetBSD's <machine/reg.h> needs it.  */
 
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
+#include "inf-ptrace.h"
 \f
 
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers (including the floating-point registers).  */
 
-void
-fetch_inferior_registers (int regnum)
+static void
+amd64bsd_fetch_inferior_registers (int regnum)
 {
   if (regnum == -1 || amd64_native_gregset_supplies_p (regnum))
     {
@@ -47,7 +49,7 @@ fetch_inferior_registers (int regnum)
 
       if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
                  (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-       perror_with_name ("Couldn't get registers");
+       perror_with_name (_("Couldn't get registers"));
 
       amd64_supply_native_gregset (current_regcache, &regs, -1);
       if (regnum != -1)
@@ -60,7 +62,7 @@ fetch_inferior_registers (int regnum)
 
       if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
                  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-       perror_with_name ("Couldn't get floating point status");
+       perror_with_name (_("Couldn't get floating point status"));
 
       amd64_supply_fxsave (current_regcache, -1, &fpregs);
     }
@@ -69,8 +71,8 @@ fetch_inferior_registers (int regnum)
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers (including the floating-point registers).  */
 
-void
-store_inferior_registers (int regnum)
+static void
+amd64bsd_store_inferior_registers (int regnum)
 {
   if (regnum == -1 || amd64_native_gregset_supplies_p (regnum))
     {
@@ -78,13 +80,13 @@ store_inferior_registers (int regnum)
 
       if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
                   (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-        perror_with_name ("Couldn't get registers");
+        perror_with_name (_("Couldn't get registers"));
 
       amd64_collect_native_gregset (current_regcache, &regs, regnum);
 
       if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
                  (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-        perror_with_name ("Couldn't write registers");
+        perror_with_name (_("Couldn't write registers"));
 
       if (regnum != -1)
        return;
@@ -96,12 +98,26 @@ store_inferior_registers (int regnum)
 
       if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
                  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-       perror_with_name ("Couldn't get floating point status");
+       perror_with_name (_("Couldn't get floating point status"));
 
       amd64_collect_fxsave (current_regcache, regnum, &fpregs);
 
       if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
                  (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-       perror_with_name ("Couldn't write floating point status");
+       perror_with_name (_("Couldn't write floating point status"));
     }
 }
+
+/* Create a prototype *BSD/amd64 target.  The client can override it
+   with local methods.  */
+
+struct target_ops *
+amd64bsd_target (void)
+{
+  struct target_ops *t;
+
+  t = inf_ptrace_target ();
+  t->to_fetch_registers = amd64bsd_fetch_inferior_registers;
+  t->to_store_registers = amd64bsd_store_inferior_registers;
+  return t;
+}
This page took 0.024975 seconds and 4 git commands to generate.