aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/linux-sh-low.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2007-07-12 19:59:00 +0000
committerDaniel Jacobowitz <drow@false.org>2007-07-12 19:59:00 +0000
commit0d37add96298857bfc56467b9cb81e1d38c88b41 (patch)
tree75550f645baa2c72eefb31869611ce45da80b62e /gdb/gdbserver/linux-sh-low.c
parentae8772e6ec3af7eea21b28642ad09cb7ce4c348b (diff)
downloadgdb-0d37add96298857bfc56467b9cb81e1d38c88b41.zip
gdb-0d37add96298857bfc56467b9cb81e1d38c88b41.tar.gz
gdb-0d37add96298857bfc56467b9cb81e1d38c88b41.tar.bz2
* configure.srv: Set srv_linux_regsets for sh*-*-linux*.
* linux-sh-low.c (sh_fill_gregset, target_regsets): New.
Diffstat (limited to 'gdb/gdbserver/linux-sh-low.c')
-rw-r--r--gdb/gdbserver/linux-sh-low.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c
index 8eef9ba..8b9f1f2 100644
--- a/gdb/gdbserver/linux-sh-low.c
+++ b/gdb/gdbserver/linux-sh-low.c
@@ -90,6 +90,23 @@ sh_breakpoint_at (CORE_ADDR where)
return 0;
}
+/* Provide only a fill function for the general register set. ps_lgetregs
+ will use this for NPTL support. */
+
+static void sh_fill_gregset (void *buf)
+{
+ int i;
+
+ for (i = 0; i < 23; i++)
+ if (sh_regmap[i] != -1)
+ collect_register (i, (char *) buf + sh_regmap[i]);
+}
+
+struct regset_info target_regsets[] = {
+ { 0, 0, 0, GENERAL_REGS, sh_fill_gregset, NULL },
+ { 0, 0, -1, -1, NULL, NULL }
+};
+
struct linux_target_ops the_low_target = {
sh_num_regs,
sh_regmap,