summaryrefslogtreecommitdiff
path: root/gdb/i386gnu-nat.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-07-20 15:18:24 +0000
committerPedro Alves <palves@redhat.com>2009-07-20 15:18:24 +0000
commitb4d1e8c7001940584b7e63af5411535e42785690 (patch)
treee5d030d113ffc2349885622e5ce886676f47e90f /gdb/i386gnu-nat.c
parentb5758fe446964d9f8d5b31ba2deb6071040b25cf (diff)
downloadbinutils-gdb-b4d1e8c7001940584b7e63af5411535e42785690.tar.gz
* gnu-nat.c: Include "inf-child.h".
(gnu_mourn_inferior): Use the passed in target_ops instead of the gnu_ops global. (gnu_create_inferior): Inline `attach_to_child', use the passed in target_ops instead of the gnu_ops global. (gnu_can_run): Delete. (gnu_attach): Use the passed in target_ops instead of the gnu_ops global. (gnu_detach): Ditto. (gnu_prepare_to_store, gnu_open): Delete. (gnu_store_registers, gnu_fetch_registers): Delete declarations. (gnu_ops): Delete. (init_gnu_ops): Delete. (gnu_target): New. (_initialize_gnu_nat): Don't call init_gnu_ops or add_target here. * gnu-nat.h (gnu_target): Declare. * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Make static. (_initialize_i386gnu_nat): New.
Diffstat (limited to 'gdb/i386gnu-nat.c')
-rw-r--r--gdb/i386gnu-nat.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/gdb/i386gnu-nat.c b/gdb/i386gnu-nat.c
index a93793217f5..104a7137d2e 100644
--- a/gdb/i386gnu-nat.c
+++ b/gdb/i386gnu-nat.c
@@ -110,7 +110,7 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregs)
#endif
/* Fetch register REGNO, or all regs if REGNO is -1. */
-void
+static void
gnu_fetch_registers (struct target_ops *ops,
struct regcache *regcache, int regno)
{
@@ -202,7 +202,7 @@ store_fpregs (const struct regcache *regcache, struct proc *thread, int regno)
}
/* Store at least register REGNO, or all regs if REGNO == -1. */
-void
+static void
gnu_store_registers (struct target_ops *ops,
struct regcache *regcache, int regno)
{
@@ -294,3 +294,21 @@ gnu_store_registers (struct target_ops *ops,
store_fpregs (regcache, thread, regno);
}
}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_i386gnu_nat;
+
+void
+_initialize_i386gnu_nat (void)
+{
+ struct target_ops *t;
+
+ /* Fill in the generic GNU/Hurd methods. */
+ t = gnu_target ();
+
+ t->to_fetch_registers = gnu_fetch_registers;
+ t->to_store_registers = gnu_store_registers;
+
+ /* Register the target. */
+ add_target (t);
+}