summaryrefslogtreecommitdiff
path: root/gdb/i386gnu-nat.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2009-07-20 15:18:22 +0000
committerPedro Alves <pedro@codesourcery.com>2009-07-20 15:18:22 +0000
commit2d8d0b56be29051d86120c81617f94e9a79873d4 (patch)
treed8d1d1f05fd45b7852e1bc8be9a915db2df36680 /gdb/i386gnu-nat.c
parent2867c202c6e138e4c4d81ee40524e4576f3054a3 (diff)
downloadgdb-2d8d0b56be29051d86120c81617f94e9a79873d4.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);
+}