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

Anton Kolesov
2017-02-14T10:01:48Z

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(+)

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,
--
2.8.3