Index: gdb/gdbserver/linux-bfin-low.c |
diff --git a/gdb/gdbserver/linux-bfin-low.c b/gdb/gdbserver/linux-bfin-low.c |
index d5b0361181c05aa7af41b0d1baefa2af53289b48..cced3e1670774b58185a369c8538e5a96ac2debc 100644 |
--- a/gdb/gdbserver/linux-bfin-low.c |
+++ b/gdb/gdbserver/linux-bfin-low.c |
@@ -1,6 +1,6 @@ |
/* GNU/Linux/BFIN specific low level interface, for the remote server for GDB. |
- Copyright (C) 2005-2012 Free Software Foundation, Inc. |
+ Copyright (C) 2005-2013 Free Software Foundation, Inc. |
Contributed by Analog Devices, Inc. |
@@ -26,6 +26,7 @@ |
/* Defined in auto-generated file reg-bfin.c. */ |
void init_registers_bfin (void); |
+extern const struct target_desc *tdesc_bfin; |
static int bfin_regmap[] = |
{ |
@@ -90,11 +91,33 @@ bfin_breakpoint_at (CORE_ADDR where) |
return 0; |
} |
+static void |
+bfin_arch_setup (void) |
+{ |
+ current_process ()->tdesc = tdesc_bfin; |
+} |
+ |
+static struct usrregs_info bfin_usrregs_info = |
+ { |
+ bfin_num_regs, |
+ bfin_regmap, |
+ }; |
+ |
+static struct regs_info regs_info = |
+ { |
+ NULL, /* regset_bitmap */ |
+ &bfin_usrregs_info, |
+ }; |
+ |
+static const struct regs_info * |
+bfin_regs_info (void) |
+{ |
+ return ®s_info; |
+} |
+ |
struct linux_target_ops the_low_target = { |
- init_registers_bfin, |
- bfin_num_regs, |
- bfin_regmap, |
- NULL, |
+ bfin_arch_setup, |
+ bfin_regs_info, |
bfin_cannot_fetch_register, |
bfin_cannot_store_register, |
NULL, /* fetch_register */ |
@@ -102,7 +125,14 @@ struct linux_target_ops the_low_target = { |
bfin_set_pc, |
bfin_breakpoint, |
bfin_breakpoint_len, |
- 0, |
+ NULL, /* breakpoint_reinsert_addr */ |
2, |
bfin_breakpoint_at, |
}; |
+ |
+ |
+void |
+initialize_low_arch (void) |
+{ |
+ init_registers_bfin (); |
+} |