| Index: gdb/gdbserver/linux-m68k-low.c
|
| diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c
|
| index 6769dac9afa6b6d0063b4641aeac4d732561da43..9a73a62b2ee87c5a6b0efe448380102d593324ce 100644
|
| --- a/gdb/gdbserver/linux-m68k-low.c
|
| +++ b/gdb/gdbserver/linux-m68k-low.c
|
| @@ -1,6 +1,5 @@
|
| /* GNU/Linux/m68k specific low level interface, for the remote server for GDB.
|
| - Copyright (C) 1995-1996, 1998-2005, 2007-2012 Free Software
|
| - Foundation, Inc.
|
| + Copyright (C) 1995-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -22,6 +21,7 @@
|
|
|
| /* Defined in auto-generated file reg-m68k.c. */
|
| void init_registers_m68k (void);
|
| +extern const struct target_desc *tdesc_m68k;
|
|
|
| #ifdef HAVE_SYS_REG_H
|
| #include <sys/reg.h>
|
| @@ -110,7 +110,7 @@ m68k_store_fpregset (struct regcache *regcache, const void *buf)
|
|
|
| #endif /* HAVE_PTRACE_GETREGS */
|
|
|
| -struct regset_info target_regsets[] = {
|
| +static struct regset_info m68k_regsets[] = {
|
| #ifdef HAVE_PTRACE_GETREGS
|
| { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t),
|
| GENERAL_REGS,
|
| @@ -175,11 +175,41 @@ ps_get_thread_area (const struct ps_prochandle *ph,
|
| }
|
| #endif /* PTRACE_GET_THREAD_AREA */
|
|
|
| +static struct regsets_info m68k_regsets_info =
|
| + {
|
| + m68k_regsets, /* regsets */
|
| + 0, /* num_regsets */
|
| + NULL, /* disabled_regsets */
|
| + };
|
| +
|
| +static struct usrregs_info m68k_usrregs_info =
|
| + {
|
| + m68k_num_regs,
|
| + m68k_regmap,
|
| + };
|
| +
|
| +static struct regs_info regs_info =
|
| + {
|
| + NULL, /* regset_bitmap */
|
| + &m68k_usrregs_info,
|
| + &m68k_regsets_info
|
| + };
|
| +
|
| +static const struct regs_info *
|
| +m68k_regs_info (void)
|
| +{
|
| + return ®s_info;
|
| +}
|
| +
|
| +static void
|
| +m68k_arch_setup (void)
|
| +{
|
| + current_process ()->tdesc = tdesc_m68k;
|
| +}
|
| +
|
| struct linux_target_ops the_low_target = {
|
| - init_registers_m68k,
|
| - m68k_num_regs,
|
| - m68k_regmap,
|
| - NULL,
|
| + m68k_arch_setup,
|
| + m68k_regs_info,
|
| m68k_cannot_fetch_register,
|
| m68k_cannot_store_register,
|
| NULL, /* fetch_register */
|
| @@ -191,3 +221,12 @@ struct linux_target_ops the_low_target = {
|
| 2,
|
| m68k_breakpoint_at,
|
| };
|
| +
|
| +void
|
| +initialize_low_arch (void)
|
| +{
|
| + /* Initialize the Linux target descriptions. */
|
| + init_registers_m68k ();
|
| +
|
| + initialize_regsets_info (&m68k_regsets_info);
|
| +}
|
|
|