OSDN Git Service

* configure.srv: Set srv_linux_regsets for sh*-*-linux*.
authorDaniel Jacobowitz <dan@debian.org>
Thu, 12 Jul 2007 19:59:00 +0000 (19:59 +0000)
committerDaniel Jacobowitz <dan@debian.org>
Thu, 12 Jul 2007 19:59:00 +0000 (19:59 +0000)
* linux-sh-low.c (sh_fill_gregset, target_regsets): New.

gdb/gdbserver/ChangeLog
gdb/gdbserver/configure.srv
gdb/gdbserver/linux-sh-low.c

index 76561ff..ee41170 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure.srv: Set srv_linux_regsets for sh*-*-linux*.
+       * linux-sh-low.c (sh_fill_gregset, target_regsets): New.
+
 2007-07-08  Pedro Alves  <pedro_alves@portugalmail.pt>
 
        * win32-low.c (handle_output_debug_string): Ignore event if not
index ff14adc..f62d276 100644 (file)
@@ -126,6 +126,7 @@ case "${target}" in
   sh*-*-linux*)                srv_regobj=reg-sh.o
                        srv_tgtobj="linux-low.o linux-sh-low.o"
                        srv_linux_usrregs=yes
+                       srv_linux_regsets=yes
                        srv_linux_thread_db=yes
                        ;;
   spu*-*-*)            srv_regobj=reg-spu.o
index 8eef9ba..8b9f1f2 100644 (file)
@@ -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,