[3/5] arc: Add "maintenance print arc" command prefix

Message ID 20170214100130.29194-3-Anton.Kolesov@synopsys.com
State New, archived
Headers

Commit Message

Anton Kolesov Feb. 14, 2017, 10:01 a.m. UTC
  Add an "arc" sublist to "maintenance print" command list.  The list is empty
for now, its purpose is to contain commands that print internal state of some
ARC-specific structures.

gdb/ChangeLog:

yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>

	* arc-tdep (maintenance_print_arc_list): New variable.
	(maintenance_print_arc_command): New function.
---
 gdb/arc-tdep.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
  

Comments

Pedro Alves Feb. 17, 2017, 1:02 p.m. UTC | #1
LGTM.

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c
index e4b2e7a..5495f2e 100644
--- a/gdb/arc-tdep.c
+++ b/gdb/arc-tdep.c
@@ -59,6 +59,10 @@  struct arc_frame_cache
 
 int arc_debug;
 
+/* List of "maintenance print arc" commands.  */
+
+static struct cmd_list_element *maintenance_print_arc_list = NULL;
+
 /* XML target description features.  */
 
 static const char core_v2_feature_name[] = "org.gnu.gdb.arc.core.v2";
@@ -1318,6 +1322,14 @@  arc_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
   fprintf_unfiltered (file, "arc_dump_tdep: jb_pc = %i\n", tdep->jb_pc);
 }
 
+/* Wrapper for "maintenance print arc" list of commands.  */
+
+static void
+maintenance_print_arc_command (char *args, int from_tty)
+{
+  cmd_show_list (maintenance_print_arc_list, from_tty, "");
+}
+
 /* Suppress warning from -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_arc_tdep;
 
@@ -1331,6 +1343,13 @@  _initialize_arc_tdep (void)
 
   /* Register ARC-specific commands with gdb.  */
 
+  /* Add root prefix command for "maintenance print arc" commands.  */
+  add_prefix_cmd ("arc", class_maintenance, maintenance_print_arc_command,
+		  _("ARC-specific maintenance commands for printing GDB "
+		    "internal state."),
+		  &maintenance_print_arc_list, "maintenance print arc ", 0,
+		  &maintenanceprintlist);
+
   /* Debug internals for ARC GDB.  */
   add_setshow_zinteger_cmd ("arc", class_maintenance,
 			    &arc_debug,