/* MI Command Set for GDB, the GNU debugger.
- Copyright (C) 2000-2001, 2003, 2007-2012 Free Software Foundation,
- Inc.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
Contributed by Cygnus Solutions (a Red Hat company).
#include "defs.h"
#include "top.h"
#include "mi-cmds.h"
-#include "gdb_string.h"
#include "mi-main.h"
-extern void _initialize_mi_cmds (void);
-
struct mi_cmd;
static struct mi_cmd **lookup_table (const char *command);
static void build_table (struct mi_cmd *commands);
DEF_MI_CMD_CLI ("break-info", "info break", 1),
DEF_MI_CMD_MI_1 ("break-insert", mi_cmd_break_insert,
&mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("dprintf-insert", mi_cmd_dprintf_insert,
+ &mi_suppress_notification.breakpoint),
DEF_MI_CMD_CLI ("break-list", "info break", 0),
DEF_MI_CMD_MI_1 ("break-passcount", mi_cmd_break_passcount,
&mi_suppress_notification.breakpoint),
DEF_MI_CMD_MI_1 ("break-watch", mi_cmd_break_watch,
&mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-assert", mi_cmd_catch_assert,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-exception", mi_cmd_catch_exception,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-handlers", mi_cmd_catch_handlers,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-load", mi_cmd_catch_load,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-unload", mi_cmd_catch_unload,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-throw", mi_cmd_catch_throw,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-rethrow", mi_cmd_catch_rethrow,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI_1 ("catch-catch", mi_cmd_catch_catch,
+ &mi_suppress_notification.breakpoint),
+ DEF_MI_CMD_MI ("complete", mi_cmd_complete),
DEF_MI_CMD_MI ("data-disassemble", mi_cmd_disassemble),
DEF_MI_CMD_MI ("data-evaluate-expression", mi_cmd_data_evaluate_expression),
DEF_MI_CMD_MI ("data-list-changed-registers",
DEF_MI_CMD_MI ("data-list-register-values", mi_cmd_data_list_register_values),
DEF_MI_CMD_MI ("data-read-memory", mi_cmd_data_read_memory),
DEF_MI_CMD_MI ("data-read-memory-bytes", mi_cmd_data_read_memory_bytes),
- DEF_MI_CMD_MI ("data-write-memory", mi_cmd_data_write_memory),
- DEF_MI_CMD_MI ("data-write-memory-bytes", mi_cmd_data_write_memory_bytes),
+ DEF_MI_CMD_MI_1 ("data-write-memory", mi_cmd_data_write_memory,
+ &mi_suppress_notification.memory),
+ DEF_MI_CMD_MI_1 ("data-write-memory-bytes", mi_cmd_data_write_memory_bytes,
+ &mi_suppress_notification.memory),
DEF_MI_CMD_MI ("data-write-register-values",
mi_cmd_data_write_register_values),
DEF_MI_CMD_MI ("enable-timings", mi_cmd_enable_timings),
DEF_MI_CMD_MI ("enable-pretty-printing", mi_cmd_enable_pretty_printing),
+ DEF_MI_CMD_MI ("enable-frame-filters", mi_cmd_enable_frame_filters),
DEF_MI_CMD_MI ("environment-cd", mi_cmd_env_cd),
DEF_MI_CMD_MI ("environment-directory", mi_cmd_env_dir),
DEF_MI_CMD_MI ("environment-path", mi_cmd_env_path),
DEF_MI_CMD_MI ("environment-pwd", mi_cmd_env_pwd),
- DEF_MI_CMD_CLI ("exec-arguments", "set args", 1),
+ DEF_MI_CMD_CLI_1 ("exec-arguments", "set args", 1,
+ &mi_suppress_notification.cmd_param_changed),
DEF_MI_CMD_MI ("exec-continue", mi_cmd_exec_continue),
DEF_MI_CMD_MI ("exec-finish", mi_cmd_exec_finish),
DEF_MI_CMD_MI ("exec-jump", mi_cmd_exec_jump),
mi_cmd_file_list_exec_source_file),
DEF_MI_CMD_MI ("file-list-exec-source-files",
mi_cmd_file_list_exec_source_files),
+ DEF_MI_CMD_MI ("file-list-shared-libraries",
+ mi_cmd_file_list_shared_libraries),
DEF_MI_CMD_CLI ("file-symbol-file", "symbol-file", 1),
+ DEF_MI_CMD_MI ("fix-multi-location-breakpoint-output",
+ mi_cmd_fix_multi_location_breakpoint_output),
DEF_MI_CMD_MI ("gdb-exit", mi_cmd_gdb_exit),
DEF_MI_CMD_CLI_1 ("gdb-set", "set", 1,
&mi_suppress_notification.cmd_param_changed),
DEF_MI_CMD_CLI ("gdb-version", "show version", 0),
DEF_MI_CMD_MI ("inferior-tty-set", mi_cmd_inferior_tty_set),
DEF_MI_CMD_MI ("inferior-tty-show", mi_cmd_inferior_tty_show),
+ DEF_MI_CMD_MI ("info-ada-exceptions", mi_cmd_info_ada_exceptions),
+ DEF_MI_CMD_MI ("info-gdb-mi-command", mi_cmd_info_gdb_mi_command),
DEF_MI_CMD_MI ("info-os", mi_cmd_info_os),
DEF_MI_CMD_MI ("interpreter-exec", mi_cmd_interpreter_exec),
DEF_MI_CMD_MI ("list-features", mi_cmd_list_features),
DEF_MI_CMD_MI ("stack-list-frames", mi_cmd_stack_list_frames),
DEF_MI_CMD_MI ("stack-list-locals", mi_cmd_stack_list_locals),
DEF_MI_CMD_MI ("stack-list-variables", mi_cmd_stack_list_variables),
- DEF_MI_CMD_MI ("stack-select-frame", mi_cmd_stack_select_frame),
+ DEF_MI_CMD_MI_1 ("stack-select-frame", mi_cmd_stack_select_frame,
+ &mi_suppress_notification.user_selected_context),
DEF_MI_CMD_MI ("symbol-list-lines", mi_cmd_symbol_list_lines),
+ DEF_MI_CMD_MI ("symbol-info-functions", mi_cmd_symbol_info_functions),
+ DEF_MI_CMD_MI ("symbol-info-variables", mi_cmd_symbol_info_variables),
+ DEF_MI_CMD_MI ("symbol-info-types", mi_cmd_symbol_info_types),
+ DEF_MI_CMD_MI ("symbol-info-modules", mi_cmd_symbol_info_modules),
DEF_MI_CMD_CLI ("target-attach", "attach", 1),
DEF_MI_CMD_MI ("target-detach", mi_cmd_target_detach),
DEF_MI_CMD_CLI ("target-disconnect", "disconnect", 0),
DEF_MI_CMD_MI ("target-file-delete", mi_cmd_target_file_delete),
DEF_MI_CMD_MI ("target-file-get", mi_cmd_target_file_get),
DEF_MI_CMD_MI ("target-file-put", mi_cmd_target_file_put),
+ DEF_MI_CMD_MI ("target-flash-erase", mi_cmd_target_flash_erase),
DEF_MI_CMD_CLI ("target-select", "target", 1),
DEF_MI_CMD_MI ("thread-info", mi_cmd_thread_info),
DEF_MI_CMD_MI ("thread-list-ids", mi_cmd_thread_list_ids),
- DEF_MI_CMD_MI ("thread-select", mi_cmd_thread_select),
+ DEF_MI_CMD_MI_1 ("thread-select", mi_cmd_thread_select,
+ &mi_suppress_notification.user_selected_context),
DEF_MI_CMD_MI ("trace-define-variable", mi_cmd_trace_define_variable),
- DEF_MI_CMD_MI ("trace-find", mi_cmd_trace_find),
+ DEF_MI_CMD_MI_1 ("trace-find", mi_cmd_trace_find,
+ &mi_suppress_notification.traceframe),
+ DEF_MI_CMD_MI ("trace-frame-collected",
+ mi_cmd_trace_frame_collected),
DEF_MI_CMD_MI ("trace-list-variables", mi_cmd_trace_list_variables),
DEF_MI_CMD_MI ("trace-save", mi_cmd_trace_save),
DEF_MI_CMD_MI ("trace-start", mi_cmd_trace_start),
int nr_rehash = 0;
int nr_entries = 0;
struct mi_cmd *command;
- int sizeof_table = sizeof (struct mi_cmd **) * MI_TABLE_SIZE;
- mi_table = xmalloc (sizeof_table);
- memset (mi_table, 0, sizeof_table);
+ mi_table = XCNEWVEC (struct mi_cmd *, MI_TABLE_SIZE);
for (command = commands; command->name != 0; command++)
{
struct mi_cmd **entry = lookup_table (command->name);