* target.c (maintenance_print_target_stack): New function.
authorJoel Brobecker <brobecker@gnat.com>
Mon, 29 Jan 2007 16:36:01 +0000 (16:36 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Mon, 29 Jan 2007 16:36:01 +0000 (16:36 +0000)
        (initialize_targets): Add new "maintenance print target-stack"
        command.

gdb/ChangeLog
gdb/target.c

index 1fa6676..9cb03be 100644 (file)
@@ -1,3 +1,9 @@
+2007-01-29  Joel Brobecker  <brobecker@adacore.com>
+
+       * target.c (maintenance_print_target_stack): New function.
+       (initialize_targets): Add new "maintenance print target-stack"
+       command.
+
 2007-01-28  Mark Kettenis  <kettenis@gnu.org>
 
        * dwarf2read.c (new_symbol): Handle DW_AT_decl_file being zero.
index 6893c87..caa2279 100644 (file)
@@ -2769,6 +2769,21 @@ do_monitor_command (char *cmd,
   target_rcmd (cmd, gdb_stdtarg);
 }
 
+/* Print the name of each layers of our target stack.  */
+
+static void
+maintenance_print_target_stack (char *cmd, int from_tty)
+{
+  struct target_ops *t;
+
+  printf_filtered (_("The current target stack is:\n"));
+
+  for (t = target_stack; t != NULL; t = t->beneath)
+    {
+      printf_filtered ("  - %s (%s)\n", t->to_shortname, t->to_longname);
+    }
+}
+
 void
 initialize_targets (void)
 {
@@ -2802,5 +2817,9 @@ result in significant performance improvement for remote targets."),
   add_com ("monitor", class_obscure, do_monitor_command,
           _("Send a command to the remote monitor (remote targets only)."));
 
+  add_cmd ("target-stack", class_maintenance, maintenance_print_target_stack,
+           _("Print the name of each layer of the internal target stack."),
+           &maintenanceprintlist);
+
   target_dcache = dcache_init ();
 }