diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 86e4b9e6fc..190dd8ea52 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-03-28 Anton Kolesov + + * arc-tdep (maintenance_print_arc_list): New variable. + (maintenance_print_arc_command): New function. + 2017-03-28 Anton Kolesov * arc-tdep.c (core_v2_register_names, core_arcompact_register_names) diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index f78e3a9fe3..f4fd71f217 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"; @@ -1308,6 +1312,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; @@ -1321,6 +1333,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,