2003-02-04 Jim Ingham Keith Seitz Elena Zannoni Andrew Cagney * mi-main.h: New file. * mi-interp.c: New file. * mi-main.c: Include "interps.h". (mi_error_message): Make global. (mi_input): Delete static function, moved to "mi-interp.c". (mi_execute_command, mi_execute_command_wrapper): Ditto. (mi_command_loop, mi1_command_loop, mi2_command_loop): Ditto. (mi_load_progress): Make non-static. (mi_error_last_message): New function. (captured_mi_execute_command): If the interpreter changed, don't print anything. (mi_load_progress): Use current_interp_named_p. (mi_init_ui): Delete function. (_initialize_mi_main): Don't install the mi interpreter, handled by "mi-interp.c". (mi_exec_async_cli_cmd_continuation): Make static. * mi-console.h (mi_console_file_new): Add `quote' parameter. * mi-console.c (struct mi_console_file): Add `quote'. (mi_console_file_new): Add `quote' parameter. Initialize `quote'. (mi_console_raw_packet): Only quote the output when `quote'. * mi-cmds.h (mi_cmd_interpreter_exec): Declare. (mi_error_message, mi_error_last_message): Declare. (mi_execute_command): Declare. * mi-cmds.c: Add `interpreter-exec' command. 2003-02-02 Andrew Cagney From 2002-11-10 Jason Molenda (jason-cl@molenda.com): * mi-cmd-var.c (mi_cmd_var_list_children): CHILDREN field is now a list; still a tuple when in mi1. * gdbmi.texinfo: Update var-list-children example. 2003-01-13 Andrew Cagney * mi-cmd-env.c: Update copyright. 2003-01-13 Elena Zannoni * mi-main.c (mi_cmd_exec_return): Use print_stack_frame instead of show_and_print_stack_frame. 2003-01-09 Andrew Cagney * mi-cmd-env.c: Include "gdb_string.h" instead of . Move all includes to after "defs.h". 2002-12-13 Jeff Johnston * mi-cmds.c (-environment-directory) Change to use mi_cmd_env_dir, (-environment-cd): Change to use mi_cmd_env_cd,. (-environment-pwd): Change to use mi_cmd_env_pwd. (-environment-path): Change to use mi_cmd_env_path. * mi-cmds.h (mi_cmd_env_cd, mi_cmd_env_dir): New prototypes. (mi_cmd_env_path, mi_cmd_env_pwd): Ditto. * mi-cmd-env.c: New file. Part of fix for PR gdb/741. * gdbmi.texinfo (environment-cd): Update output and example. (environment-pwd): Ditto. (environment-dir): Update output, description, and examples. (environment-path): Ditto. 2002-11-29 Andrew Cagney * mi/mi-cmd-stack.c, mi/mi-main.c: Update to use deprecated_selected_frame. 2002-11-13 Andrew Cagney * mi-main.c (mi_cmd_data_write_register_values): Use deprecated_write_register_bytes instead of write_register_bytes. 2002-11-11 Jeff Johnston * gdbmi.texinfo (-var-assign): Add comments about interaction with -var-update and add an example. Part of fix for gdb/702. 2002-11-08 Jeff Johnston * mi-main.c (mi_command_loop): Initialize raw_stdout and gdb_stdout only if mi version is <= 1. (mi_init_ui): Initialize raw_stdout and gdb_stdout if mi version is > 1 so startup message is treated as console output. This is part of fix for PR gdb/604. 2002-11-06 Jeff Johnston * mi-cmd-var.c (mi_cmd_var_create): Change the function used to parse the frame addr from parse_and_eval_address() to string_to_core_addr(). This is a fix for PR gdb/494. 2002-10-23 Jeff Johnston * mi-cmd-var.c: Change all remaining occurrences of ui_out_tuple_begin to make_cleanup_ui_out_tuple_begin_end. Change all remaining occurrences of ui_out_list_begin to make_cleanup_ui_out_list_begin_end. Use do_cleanups instead of ui_out_list_end or ui_out_tuple_end. This is a fix for PR gdb/680. * mi-cmd-stack.c: Ditto. * mi-main.c: Ditto. 2002-10-22 Keith Seitz * mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR when we really did catch an error(). If we got GDB_RC_FAIL, return MI_CMD_ERROR instead. 2002-10-03 Jeff Johnston * gdbmi.texinfo: Fix examples that show frames to remove extraneous blank in level field. Part of fix for PR gdb/192. 2002-10-03 Jeff Johnston * mi-cmd-var.c (mi_cmd_var_update): Fix for PR gdb/672. For m2, output list begin and end for "changelist" rather than tuple begin/end. (varobj_update_one): For m2, add tuple begin and end for varobj update output. 2002-10-02 Elena Zannoni * mi-main.c (mi_cmd_exec_return): Don't use return_command_wrapper, use return_command instead. (mi_cmd_exec_interrupt): Don't use interrupt_target_command_wrapper, use interrupt_target_command instead. (return_command_wrapper, interrupt_target_command_wrapper): Delete. Include frame.h. 2002-10-01 Andrew Cagney * mi-main.c (mi2_command_loop): New function. (mi0_command_loop): Delete function. (_initialize_mi_main): Recognize, and default to, "mi2". Do not recognize "mi0". * mi-out.c (mi_table_begin): Remove mi0 code. (mi_table_body, mi_table_end): Ditto. (mi_table_header, mi_open, mi_close): Ditto. 2002-09-29 Andrew Cagney * mi-out.c (mi_version): New function. * mi-out.h (mi_version): Declare. 2002-09-27 Andrew Cagney From 2002-07-12 Mo DeJong * gdbmi.texinfo (var-evaluate-expression): Note that var-list-children must be invoked before child variable values can be evaluated. 2002-09-26 Elena Zannoni * mi-cmd-disas.c (dump_insns): Add text only output for CLI. (do_mixed_source_and_assembly): Ditto. 2002-09-11 Keith Seitz * mi-main.c (mi_cmd_data_list_register_names): Use cleanups for the uiout list. Do the cleanups when returning an error. (mi_cmd_data_list_changed_registers): Ditto. (mi_cmd_data_list_register_values): Use cleanups for the uiout list and tuples. Do the cleanups when returning errors. 2002-07-29 Andrew Cagney * mi-cmd-var.c: Include "gdb_string.h". * mi-cmd-disas.c: Ditto. 2002-06-17 Keith Seitz * gdbmi.texinfo: Update command examples with real MI behavior. 2002-05-20 Keith Seitz * mi-main.c (captured_mi_execute_command): Add uiout parameter. "data" is now a structure which is used to pass data to/from this function to mi_execute_command. Modify function to comply with requirements from catch_exceptions. Store real return result and command's return result in data. (mi_execute_command): Use catch_exceptions. Use enum to handle actions to be performed instead of overloading catch_errors return result and the mi return result. 2002-04-14 Andrew Cagney * mi-main.c (mi_cmd_exec_return): 2002-04-09 Andrew Cagney * mi-main.c (register_changed_p): Use frame_register_read instead of read_relative_register_raw_bytes. (get_register): Delete out-of-date comment. 2002-04-07 Elena Zannoni * mi-cmd-disas.c: Run through indent. 2002-04-07 Elena Zannoni * mi-cmd-disas.c (dump_insns): New function. (do_mixed_source_and_assembly): New function. (do_assembly_only): New function. (do_disassembly): New function. (mi_cmd_disassemble): Rewrite using smaller, more modular functions. 2002-04-05 Jim Blandy * mi-cmd-stack.c (list_args_or_locals): Pass new arg to get_frame_block. (See entry in gdb/ChangeLog.) 2002-04-05 Elena Zannoni * mi-cmd-disas.c (mi_cmd_disassemble): Use TARGET_PRINT_INSN instead of tm_print_insn. Update copyright year. 2002-04-04 Daniel Jacobowitz * mi-cmd-disas.c (mi_cmd_disassemble): Skip end-of-function markers in the line table. 2002-03-15 Andrew Cagney * mi-main.c (XMALLOC): Delete macro. * mi-out.c (XMALLOC): Ditto. * mi-parse.c (XMALLOC): Ditto. * mi-console.c (XMALLOC): Ditto. * mi-cmd-var.c (XMALLOC): Ditto. * mi-cmd-break.c (XMALLOC): Ditto. * mi/mi-cmd-var.c, mi/mi-console.c, mi/mi-out.c: Update copyright * mi/mi-parse.c: Ditto. 2002-02-24 Andrew Cagney From wiz at danbala: * gdbmi.texinfo: Fix grammar and typos. Fix PR gdb/287. 2002-02-03 Jim Blandy * mi-cmd-stack.c (list_args_or_locals): Move declaration of print_me inside the loop body, so it gets re-initialized every iteration. The cases for the different symbol kinds leave print_me unchanged if they don't want the symbol printed. 2002-01-22 Andrew Cagney * gdbmi.texinfo: Remove makeinfo 3.12 hacks. 2002-01-21 Andrew Cagney * mi-cmd-stack.c: Remove #else clause of #ifdef UI_OUT. * mi-cmd-break.c: Ditto. * mi-main.c: Ditto. 2001-12-30 Eli Zaretskii * gdbmi.texinfo: Fix the application of GFDL in the Copyright notice. 2001-10-12 Daniel Jacobowitz * mi-cmd-stack.c (list_args_or_locals): Use ALL_BLOCK_SYMBOLS. 2001-09-18 Andrew Cagney * mi-main.c (mi_cmd_thread_select): Pass uiout to gdb_thread_select. (mi_cmd_thread_list_ids): Pass uiout to gdb_list_thread_ids. * mi-cmd-break.c (breakpoint_notify): Pass uiout to gdb_breakpoint_query. 2001-08-17 Keith Seitz * mi-cmd-var.c (varobj_update_one): Update call to varobj_update to reflect recent api change. 2001-07-26 Andrew Cagney * mi-main.c: Include "gdb.h". * mi-cmd-break.c: Include "gdb.h". 2001-07-12 Andrew Cagney * mi-main.c (mi_execute_command): Flush output after ``(gdb)'' prompt. Bug reported by David Whedon. (mi_execute_async_cli_command): Ditto. (mi_exec_async_cli_cmd_continuation): Ditto. (mi_command_loop): Ditto. 2001-07-10 Mark Kettenis * mi-out.c (mi_out_new): Initialize suppress_ouput field of newly created `struct ui_out_data'. 2001-07-09 Kevin Buettner * mi-main.c (register_changed_p, get_register): Use alloca() to allocate space previously allocated via gcc's variable-length array extension. (mi_cmd_data_write_register_values, mi_cmd_data_write_memory): Change type of ``buffer'' to ``void *''. Don't cast return value from xmalloc(). Add a cleanup to free the xmalloc'd buffer. 2001-07-07 Andrew Cagney * mi-main.c (mi_cmd_data_evaluate_expression): Replace value_ptr with `struct value *'. 2001-07-08 Kevin Buettner * mi-out.c (mi_table_header, mi_field_int, mi_field_skip) (mi_field_string) Make function declarators match earlier declarations. 2001-07-04 Andrew Cagney * mi-out.c (mi_ui_out_impl): Initialize is_mi_like_p to one. 2001-06-27 Andrew Cagney * mi-out.c (mi_table_begin): Include nr_cols and nr_rows in mi1 table output. * mi-out.c (mi_table_begin): Only suppress output when mi0. Change the header to a list. (mi_table_body): For mi1, close the header list and open a table body list. (mi_table_end): For mi1, close the body list. (mi_table_header): For mi1, output a tuple containing all the header information. (mi_open, mi_close): Reverse logic of mi_version test. * gdbmi.texinfo (GDB/MI Breakpoint Table Commands): Update. 2001-06-26 Andrew Cagney * gdbmi.texinfo (GDB/MI Output Syntax): Delete reference to query packet. 2001-06-26 Andrew Cagney * mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or "locals" entries. * gdbmi.texinfo (stack-list-locals, stack-list-arguments) (exec-interrupt, target-select, thread-select): Update documentation. 2001-06-26 Andrew Cagney * mi-cmd-stack.c (mi_cmd_stack_list_frames): Output a list of "stack" entries. (mi_cmd_stack_list_args): Ditto for "stack-args". * gdbmi.texinfo (stack-list-frames, stack-list-arguments): Update documentation. (GDB/MI Stack Manipulation Commands): Fix section title. Was Stack Manipulation Commands in GDB/MI. 2001-06-25 Andrew Cagney * gdbmi.texinfo: Update output examples that contain stop reason output, change the args=.... to a list. (exec-return): Ditto. 2001-06-25 Andrew Cagney * mi-main.c (mi_cmd_data_read_memory): Output the memory contents - memory and data - as a list. * gdbmi.texinfo (data-read-memory): Update documentation. 2001-06-25 Andrew Cagney * mi-main.c (mi_cmd_data_list_register_values): Output a list of register values. * gdbmi.texinfo (data-list-register-values): Update documentation. 2001-06-25 Andrew Cagney * mi-main.c (mi_cmd_data_list_register_names): Output a list of register names. (mi_cmd_data_list_register_names): Include the pseudo registers. (mi_cmd_data_list_register_names): Don't leave holes in the list, output "" for NULL registers. * gdbmi.texinfo (data-list-register-names): Update documentation. 2001-06-23 Andrew Cagney * mi-main.c (mi_cmd_data_list_changed_registers): Output a list of register numbers. * gdbmi.texinfo (data-list-changed-registers): Update documentation. 2001-06-23 Andrew Cagney * gdbmi.texinfo (data-disassemble): Update documentation of output. Produces a list of instructions and a list of source lines. 2001-06-22 Andrew Cagney * mi-cmd-disas.c (mi_cmd_disassemble): For "-data-disassemble", output a list instead of a tupple. 2001-06-21 Andrew Cagney * mi-out.c (struct ui_out_data): Replace field first_header with suppress_output. (mi_begin, mi_end): Check suppress_header. (mi_field_int, mi_field_skip): Ditto. (mi_field_string, mi_field_fmt): Ditto. (mi_table_begin): When nr_rows is zero, set suppress_header else, output the start of the header. (mi_table_body): Clear suppress header. 2001-06-21 Andrew Cagney * mi-out.c (mi_open): For lists, when mi_version > 0, use ``[''. (mi_close): Ditto for ``]''. 2001-06-20 Andrew Cagney * mi-out.c (mi_table_header): Add parameter ``col_name''. 2001-06-18 Andrew Cagney * mi-out.c: Include "gdb_assert.h". (mi_table_begin): Add parameter ``nr_rows''. 2001-06-18 Andrew Cagney * mi-main.c: Use strncmp as the "mi" test. Allow "mi", "mi0" and "mi1". (mi_command_loop): Add parameter mi_version, pass to mi_out_new. (mi1_command_loop, mi0_command_loop): New functions. (_initialize_mi_main): Recognize "mi", "mi0" and "mi1". * mi-out.c (mi_out_new): Add parameter mi_version. (struct ui_out_data): Add field mi_version. * mi-out.h (mi_out_new): Update. 2001-06-07 Andrew Cagney * gdbmi.texinfo (GDB/MI Output Syntax): Add tuples and lists to syntax. (GDB/MI Draft Changes to Output Syntax): Delete section. Mon Jun 11 17:22:25 2001 Andrew Cagney * mi-out.c: Fix typo. s/supress/suppress/. 2001-06-09 Andrew Cagney * mi-out.c (mi_table_end, mi_table_begin, mi_begin, mi_end): Move supress_field_separator updates from here. (mi_open, mi_close): To here. (mi_open): Add parameter name. Output a field_separator. (mi_table_begin): Update. (mi_table_header): Update. (mi_begin): Update. 2001-06-09 Andrew Cagney * mi-out.c (mi_table_begin): Make char* parameters constant. (mi_table_header): Ditto. (mi_field_int): Ditto. (mi_field_skip): Ditto. (mi_field_string): Ditto. (mi_field_fmt): Ditto. (mi_text): Ditto. (mi_message): Ditto. 2001-05-12 Andrew Cagney * mi-out.c (mi_close, mi_open): Output ``[]'' when a list. Fri May 11 13:55:07 2001 Andrew Cagney * mi-cmd-var.c: Replace ui_out_list_begin, ui_out_list_end and make_cleanup_ui_out_list_end with ui_out_tupple_begin, ui_out_tupple_end and make_cleanup_ui_out_tupple_begin_end. * mi-cmd-stack.c: Ditto. * mi-cmd-disas.c: Ditto. * mi-main.c: Ditto. 2001-05-10 Andrew Cagney * mi-out.c (mi_open, mi_close): Replace list_open and list_close. (mi_table_begin): Update. (mi_table_header): Update. (mi_begin): Update. (mi_table_body): Update. (mi_table_end): Update. (mi_end): Update. Thu May 10 16:28:13 2001 Andrew Cagney * mi-main.c (mi_execute_async_cli_command): Always initialize old_cleanups. 2001-05-08 Andrew Cagney * mi-out.c (mi_begin, mi_end): Replace mi_list_begin and mi_list_end. (mi_ui_out_impl): Update. 2001-03-28 Andrew Cagney * mi-main.c (mi_cmd_data_read_memory): Use xcalloc. 2001-03-26 Eli Zaretskii * gdbmi.texinfo: Update copyright. Change Permissions to GFDL. 2001-03-20 Andrew Cagney * mi-cmd-disas.c (mi_cmd_disassemble): Initialize ``file_string'' and ``line_num''. Consolidate declaration of argument variables. 2001-03-19 Andrew Cagney * mi-out.h: Remove #ifdef __STDC__. 2001-03-08 Andrew Cagney * mi-main.c (mi_cmd_data_list_register_names): Use NUM_REGS, not ARCH_NUM_REGS. (mi_cmd_data_list_changed_registers): Ditto. (mi_cmd_data_list_register_values): Ditto. (mi_cmd_data_write_register_values): Ditto. 2001-03-06 Kevin Buettner * gdbmi.texinfo, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c, mi-getopt.h, mi-out.c, mi-out.h, mi-parse.c, mi-parse.h: Update/correct copyright notices. Wed Feb 7 19:50:37 2001 Andrew Cagney * mi-getopt.c: Add __FILE__ and __LINE__ parameter to calls to internal_error. * mi-console.c: Ditto. * mi-cmds.c: Ditto. * mi-cmd-break.c: Ditto. 2001-01-27 Fernando Nasser From Momchil Velikov * mi-cmd-disas.c (gdb_dis_asm_read_memory): Add missing memory attributes argument in the call to `xfer_memory'. 2000-12-14 Kevin Buettner * mi-cmd-disas.c, mi-cmd-var.c, mi-console.c, mi-main.c, mi-parse.c: Replace occurrences of free() with xfree(). Fri Nov 17 16:07:23 2000 Andrew Cagney * mi-main.c: Replace asprintf with xasprintf. * mi-cmd-var.c (mi_cmd_var_create): Ditto. 2000-10-16 Eli Zaretskii * gdbmi.texinfo (GDB/MI Variable Objects): Dimensions of multitable changed to "@columnfractions .4 .6". Suggested by Dmitry Sivachenko . 2000-08-23 Eli Zaretskii * gdbmi.texinfo: Change flathead -> @sc{gdb/mi}. Fix typos and markup mistakes (from Dmitry S. Sivachenko ). 2000-07-24 Eli Zaretskii * gdbmi.texinfo: Change GDB -> @value{GDBN}, and (gdb) -> (@value{GDBP}). Fix a few typos and some markup. From Dmitry S. Sivachenko . Tue May 16 14:13:41 2000 Andrew Cagney * mi-main.c (mi_cmd_execute): Use free_current_contents. (free_and_reset): Delete. Mon May 15 16:17:56 2000 Andrew Cagney * mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression), mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete): Delete make_cleanup_func casts. Not needed. 2000-05-07 Eli Zaretskii * gdbmi.texinfo: Lots of typos and grammar fixes from Brian Youmans <3diff@flib.gnu.ai.mit.edu>. Wed Apr 26 18:35:19 2000 Andrew Cagney * gdbmi.texinfo (GDB/MI Output Syntax v2.0): Convert Draft 2.0 Output Syntax into a new section. Cross reference. (menu): Fix tipo. GDB/MI Compatibility with CLI. 2000-04-23 Eli Zaretskii * gdbmi.texinfo: Lots of changes, to include this document as part of the GDB manual. 2000-03-13 James Ingham * mi-cmd-var.c (mi_cmd_var_create): Add special frame cookie "@" to indicate an "USE_CURRENT_FRAME" variable. (varobj_update_one): Add "in_scope" and "type_changed" to the result. 2000-03-06 Elena Zannoni * mi-cmds.h: Export mi_cmd_data_write_register_values. * mi-cmds.c (mi_cmds): Implement data-write-register-values with mi_cmd_data_write_register_values. * mi-main.c (mi_cmd_data_write_register_values): New function. Write a value into a register. 2000-03-06 Elena Zannoni * gdbmi.texinfo: Update data-disassemble documentation. 2000-03-01 Elena Zannoni * mi-cmd-disas.c (mi_cmd_disassemble): Use ui_out_field_core_addr() instead of print_address_numeric(), to maintain consistency throughout MI. Wed Feb 23 17:09:39 2000 Andrew Cagney * mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c, mi-getopt.h, mi-main.c, mi-out.c, mi-out.h, mi-parse.c, mi-parse.h: Update copyright information. Wed Feb 23 13:31:16 2000 Andrew Cagney * mi-cmd-disas.c (gdb_dis_asm_read_memory): Change LEN to unsigned long. Match ../include/dis-asm.h change. Wed Feb 23 10:30:55 2000 Andrew Cagney * gdbmi.texinfo: Update copyright - FSF. Update version information. mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, mi-cmds.h, mi-main.c, mi-parse.c, mi-parse.h: Re-format using GNU indent. 2000-02-21 Elena Zannoni * mi-main.c: Add include of gdbcore.h for write_memory() prototype. 2000-02-18 Elena Zannoni * mi-cmd-disas.c (mi_cmd_disassemble): Change syntax of command. Now use options. Instead of printing the symbolic address of instructions via print_address_symbolic(), use build_address_symbolic() and format properly for output. (gdb_do_disassmble): Delete. 2000-02-18 Elena Zannoni * mi-cmd-disas.c (mi_cmd_disassemble): 2000-02-17 Elena Zannoni * mi-main.c (mi_cmd_data_write_memory): New function. Write a value into target memory. * mi-cmds.h (mi_cmd_data_write_memory): Export. * mi-cmds.c (mi_cmds): Hook up data-write-memory to mi_cmd_data_write_memory(). 2000-02-17 Elena Zannoni * mi-main.c (mi_cmd_target_download): Correct error message to report right function name. (mi_cmd_target_select): Add doing exec cleanups at end. (mi_cmd_data_read_memory): Correct typo. (mi_cmd_execute): Do not simply free last_async_command, but reset it to NULL as well. (free_and_reset): New function, free the argument and set it to NULL. (mi_cmd_target_select_continuation): Delete prototype. Tue Feb 1 00:17:12 2000 Andrew Cagney * mi-cmd-disas.c, mi-cmds.h, mi-console.c, mi-console.h, mi-main.c, mi-out.c, mi-out.h: Update to reflect rename of gdb-file / GDB_FILE to ui-file / ``struct ui_file''. Mon Jan 31 18:33:28 2000 Andrew Cagney * mi-main.c (mi_command_loop): Delete reference to fputs_unfiltered_hook. 2000-01-27 Elena Zannoni * mi-cmds.c (mi_cmds): Update entries for mi_cmd_data_list_register_names, mi_cmd_data_list_changed_registers, mi_cmd_data_list_register_values. * mi-cmds.h (mi_cmd_data_list_register_names, mi_cmd_data_list_changed_registers, mi_cmd_data_list_register_values): Update to mi_cmd_argv_ftype. * mi-main.c (mi_cmd_data_list_register_names, mi_cmd_data_list_changed_registers, mi_cmd_data_list_register_values): Update to use argc, argv parameters. 2000-01-27 Elena Zannoni * mi-main.c (mi_cmd_data_read_memory): Correct the computation of next-row. 2000-01-27 Fernando Nasser * mi-cmd-var.c (mi_cmd_var_create): Test for NULL type. (mi_cmd_var_set_format, mi_cmd_var_show_format, mi_cmd_var_info_num_children, mi_cmd_var_list_children, mi_cmd_var_info_type, mi_cmd_var_info_expression, mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, mi_cmd_var_assign, mi_cmd_var_update): Prevent possibility of memory leak on error. 2000-01-27 Fernando Nasser * mi-out.c (mi_field_string): Test for NULL string pointer. 2000-01-17 Elena Zannoni * mi-cmd-stack.c (mi_cmd_stack_list_frames): Call print_frmae_info() with the correct arguments. * mi-main.c (mi_cmd_exec_return): Call show_and_print_stack_frame() with LOC_AND_ADDRESS, so it does the right thing. Update Copyright. 2000-01-13 Elena Zannoni * mi-main.c: Move disassemble commands from here. * mi-cmd-disas.c: To here. New file. 2000-01-13 Elena Zannoni * mi-cmd-stack.c: Remove include of mi-out.h. * mi-main.c (mi_cmd_disassemble): Update function to use argc/argv interface. * mi-cmds.h: Ditto. * mi-cmds.c: Ditto. 2000-01-12 Elena Zannoni * gdbmi.texinfo: Update stack commands descriptions. Add thread commands descriptions and examples. * mi-main.c (mi_cmd_thread_list_ids): Fix typo. 2000-01-12 Elena Zannoni * mi-main.c (mi_cmd_thread_list_ids): New function, print a list of currently known threads ids, and the total number of threads. (mi_cmd_thread_select): New function. Switch current thread. * mi-cmds.c (mi_cmds): Implement thread-list-ids by mi_cmd_thread_list_ids, and thread-select by mi_cmd_thread_select. * mi-cmds.h (mi_cmd_thread_select, mi_cmd_thread_list_ids): Export. 2000-01-11 Elena Zannoni * mi-main.c: Move stack commands from here. * mi-cmd-stack.c: To here. New file. 2000-01-07 Elena Zannoni * mi-main.c (list_args_or_locals): Add a new paramter, the frame for which to display args or locals. Don't use selected_frame anymore, use the new parameter instead. Return void instead of mi_cmd_result, let callers do so. (mi_cmd_stack_list_args): Change interface. Now accept low and high frame numbers to display args for a range of frames. Without these two, display args for the whole stack. (mi_cmd_stack_list_locals): Adapt to new interface for list_args_or_locals. 2000-01-06 Elena Zannoni * mi-main.c (mi_cmd_stack_info_depth, mi_cmd_stack_list_args, mi_cmd_stack_list_frames, mi_cmd_stack_list_locals, mi_cmd_stack_select_frame): Change to use argv type of parameters. * mi-cmds.c (mi_cmds): Change stack-info-depth, stack-list-arguments, stack-list-frames, stack-list-locals, stack-select-frame to use argv parameters. * mi-cmds.h (mi_cmd_stack_info_depth, mi_cmd_stack_list_args, mi_cmd_stack_list_frames, mi_cmd_stack_list_locals, mi_cmd_stack_select_frame): Update definitions. Tue Jan 4 12:38:54 2000 Andrew Cagney * mi-main.c (mi_command_loop): Force the MI interface to use seven bit strings. * gdbmi.texinfo: Make it clear that a quoted C string is seven bit. Thu Dec 30 14:15:22 1999 Andrew Cagney * mi-getopt.c (mi_getopt): Rewrite. Allow long options. * mi-getopt.h (struct mi_opt): Declare. (mi_getopt): Update. * mi-main.c (mi_cmd_data_read_memory), mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Update. Wed Dec 29 23:38:35 1999 Andrew Cagney * mi-cmd-break.c (mi_cmd_break_insert): Add support for -c , -i and -p . (breakpoint_notify): New function. (mi_cmd_break_insert): Wrap GDB call with callback hooks so that MI is notified when ever a breakpoint is created. * gdbmi.texinfo: Update. Fri Dec 24 11:23:22 1999 Andrew Cagney * mi-main.c (gdb_do_disassemble): Strip out more useless #ifdef UI_OUTs. 1999-12-23 Elena Zannoni * mi-main.c (gdb_do_disassemble): Fix output. Lines that have no assembly instructions must still be outputted, to keep the source line numbering correct. Remove #ifdef UI_OUT's, they are useless. 1999-12-17 Elena Zannoni * mi-main.c (gdb_do_disassemble): Don't print a new list in mixed mode, every time. Just do it when we actually encounter a new source line. 1999-12-17 Fernando Nasser * mi-cmd-var.c (mi_cmd_var_list_children): Add test for C++ pseudo variable objects (private, public, protected) as these do not have a type and the -var-list-children operation was dumping core. Fri Dec 17 20:23:33 1999 Andrew Cagney * gdbmi.texinfo: Document recommended syntax for options. * mi-main.c (mi_cmd_data_read_memory): Add support for ``-o ''. * gdbmi.texinfo: Document. Wed Dec 15 17:43:08 1999 Andrew Cagney * mi-getopt.h (mi_getopt): Change optarg to a char pointer. Check optind. * mi-cmd-break.c (mi_cmd_break_insert): Update. * mi-main.c (mi_cmd_data_read_memory): Add fields "next-row-addr", "prev-row-addr", "next-page-addr", "prev-page-addr" and a per row "addr". * gdbmi.texinfo: Update. Wed Dec 15 01:05:40 1999 Andrew Cagney * mi-cmds.h (mi_cmd_result): Add MI_CMD_CAUGHT_ERROR for when the error is caught. * mi-main.c (captured_mi_execute_command): When MI_CMD_CAUGHT_ERROR return 0 rethrowing the eror. 1999-12-13 Elena Zannoni * mi-cmd-break.c (mi_cmd_break_insert): Remove unused var. * mi-cmd-var.c (mi_cmd_var_update): Remove unused variables. Mon Dec 13 18:43:36 1999 Andrew Cagney * mi-parse.c (mi_parse): Quote the command when printing it. (mi_parse_argv): Fix handling of quoted strings. Was not de-quoting them. (mi_parse_argv): Make static. Mon Dec 13 18:30:03 1999 Andrew Cagney * mi-cmds.h (mi_cmd_break_insert, mi_cmd_break_watch): Change type to mi_cmd_argv_ftype. * mi-cmds.c (mi_cmds): Update. * mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Change to new style of arguments with argc and argv. Parse arguments using mi_getopt. * mi-cmd-break.c (mi_cmd_break_insert): Wrap body in #ifdef UI_OUT to avoid non-ui compile problems. Mon Dec 13 15:08:36 1999 Andrew Cagney * mi-getopt.h, mi-getopt.c: New files. Similar to getopt but with well defined semantics. Mon Dec 13 14:22:21 1999 Andrew Cagney * mi-main.c (mi_cmd_break_insert, mi_cmd_break_watch, enum wp_type, enum bp_type): Move from here. * mi-cmd-break.c: To here. New file. (mi_cmd_break_insert, mi_cmd_break_insert, mi_cmd_break_watch): Use error to report problems. 1999-12-09 Elena Zannoni * gdbmi.texinfo: Update description of exec-interrupt. * mi-main.c (mi_cmd_exec_interrupt): If the program is not executing, don't try to interrupt it, but error out instead. Make sure previous_async_command is not null before duplicating it into last_async_command. * gdbmi.texinfo: Add examples for data-evaluate-expression. 1999-12-08 Elena Zannoni * mi-cmd-var.c (mi_cmd_var_assign, mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression, mi_cmd_var_info_num_children, mi_cmd_var_info_type, mi_cmd_var_list_children, mi_cmd_var_set_format, mi_cmd_var_show_attributes, mi_cmd_var_show_format, mi_cmd_var_update): Change to use new style of arguments with argc and argv. (next_arg): Delete. (which_var): Delete. * mi-cmds.c (mi_cmds): Update entries for mi_cmd_var_assign, mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression, mi_cmd_var_info_num_children, mi_cmd_var_info_type, mi_cmd_var_list_children, mi_cmd_var_set_format, mi_cmd_var_show_attributes, mi_cmd_var_show_format, mi_cmd_var_update. * mi-cmds.h (mi_cmd_var_assign, mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression, mi_cmd_var_info_num_children, mi_cmd_var_info_type, mi_cmd_var_list_children, mi_cmd_var_set_format, mi_cmd_var_show_attributes, mi_cmd_var_show_format, mi_cmd_var_update): Update declarations. 1999-12-08 Elena Zannoni * gdbmi.texinfo: Comment out -data-assign command. * mi-main.c (mi_cmd_data_assign): Do not use, comment out. * mi-cmds.h (mi_cmd_data_assign): Remove. * mi-cmds.c: Remove -data-assign command from MI interface. 1999-12-07 Elena Zannoni * mi-parse.c (mi_parse): Add '\n' at end of error messages, so that prompt comes out on new line. * gdbmi.texinfo: Update disassembly command output. 1999-12-06 Elena Zannoni * mi-main.c (gdb_do_disassemble): Update output for UI_OUT case. 1999-12-02 Elena Zannoni * gdbmi.texinfo: Update exec-until output, including the reason for stopping. Thu Dec 2 17:17:22 1999 Andrew Cagney * mi-cmds.c: Include for memset. 1999-12-01 Elena Zannoni * mi-main.c (mi_cmd_exec_return): ifdef the references to return_command_wrapper(). 1999-12-01 Elena Zannoni * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_interrupt, mi_cmd_target_select, mi_execute_async_cli_command, mi_exec_async_cli_cmd_continuation, mi_load_progress): Don't print last_async_command if it is NULL. (mi_cmd_exec_return): 1999-12-01 Elena Zannoni * mi-main.c (mi_cmd_exec_return): Reimplement using return_command() instead of mi_execute_async_cli_command(). 1999-12-01 Elena Zannoni * mi-cmds.h: Export mi_cmd_data_assign and mi_cmd_data_evaluate_expression. * mi-cmds.c (mi_cmds): Hook data-assign to mi_cmd_data_assign and data-evaluate-expression to mi_cmd_data_evaluate_expression. * mi-main.c (mi_cmd_data_assign): New function. Implement data-assign command. (mi_cmd_data_evaluate_expression): New function. Implement data-evaluate-expression command. 1999-12-01 Elena Zannoni * gdbmi.texinfo: Fix some texinfo formatting errors. 1999-12-01 Elena Zannoni * gdbmi.texinfo: Update data-list-register-values description. * mi-cmds.h: Export mi_cmd_data_list_register_values. * mi-cmds.c (mi_cmds): Hook data-list-register-values to mi_cmd_data_list_register_values. * mi-main.c (mi_cmd_data_list_register_values): New function. Implements the -data-list-register-values command. (get_register): New function. Output the contents of a given register. Wed Dec 1 20:27:22 1999 Andrew Cagney * mi-main.c (mi_execute_async_cli_command): Append missing "\n" for synchronous stopped message. 1999-11-30 James Ingham * gdbmi.texinfo: Fix obvious typo in @end statement. Wed Dec 1 12:36:27 1999 Andrew Cagney * mi-cmd-var.c: Include "value.h". * mi-console.c: Include . Wed Dec 1 00:21:03 1999 Andrew Cagney * mi-main.c (captured_mi_execute_command): For a CLI command, pass "%s" to mi_execute_cli_command to stop core dumps. (captured_mi_execute_command): Echo CLI commands on gdb_stdlog. Wed Dec 1 00:10:07 1999 Andrew Cagney * gdbmi.texinfo: Explain NR-BYTES and ADDR. Tue Nov 30 23:31:57 1999 Andrew Cagney * mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_show_format, mi_cmd_var_info_num_children, mi_cmd_var_list_children, mi_cmd_var_info_type, mi_cmd_var_info_expression, mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, next_arg, which_var): New file. Move varobj commands to here from mi-main.c. * mi-console.h, mi-console.c (mi_console_file_new, mi_console_file_delete, mi_console_file_fputs, mi_console_raw_packet, mi_console_file_flush): New files. Move mi_console_file to here from mi-main.c. Tue Nov 30 19:37:25 1999 Andrew Cagney * mi-main.c (captured_mi_execute_command): Use fputstr_unfiltered when printing error messages. (mi_cmd_execute): Ditto. 1999-11-29 Elena Zannoni * gdbmi.texinfo: Describe -data-list-changed-registers, -data-list-register-names. Add examples for -exec-next-instruction, exec-step-instruction, -exec-run, -exec-until. Format examples for -data-read-memory. update example for -target-download. 1999-11-29 Elena Zannoni * gdbmi.texinfo: Remove mentioning of inaccurate watchpoint hit count. Mon Nov 29 19:28:55 1999 Andrew Cagney * mi-main.c (mi_execute_async_cli_command): Return ``enum mi_cmd_cmd_result''. mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_step, mi_cmd_exec_step_instruction, mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return, mi_cmd_exec_continue): Update call. (mi_execute_async_cli_command): When target is synchronous, fake asynchronous behavour (ulgh). Allows tests to be run on built-in simulator and native targets. Mon Nov 29 15:15:16 1999 Andrew Cagney * mi-cmds.h (mi_cmd_gdb_exit), mi-cmds.c (mi_cmds), mi-main.c (mi_cmd_gdb_exit): Change function signature to mi_cmd_argv_ftype. 1999-11-28 Andew Cagney * mi-parse.c: Include and 1999-11-26 Elena Zannoni * gdbmi.texinfo: Added watchpoint command descriptions and examples. * mi-main.c (mi_load_progress): Add parameter for total sent so far. Print it as well. Fri Nov 26 10:17:49 1999 Andrew Cagney * gdbmi.texinfo (section Output Syntax): For lists, the part of a is optional. Clarify syntax. (appendix Proposed v2.0 Output Syntax): New section. Provide record of discussion of possible changes to syntax. Wed Nov 24 19:41:35 1999 Andrew Cagney * mi-main.c (mi_cmd_data_read_memory): Simplify. Fix coredump when arguments were bad. (mi_cmd_execute): Change parameter to ``struct mi_parse''. Handle case of argv_func as well as args_func. (captured_mi_execute_command): Update. * mi-cmds.c (struct mi_cmd): Add field for mi_cmd_argv_ftype. (mi_cmds): Update mi_cmd_data_read_memory. (mi_lookup): Return * mi-cmds.h (mi_cmd_args_ftype): Rename mi_cmd_ftype. Make all functions of type this type. (mi_cmd_argv_ftype): Declare. (mi_cmd_data_read_memory): Change type to mi_cmd_argv_fytpe. (struct mi_cmd): Move declaration to here from mi-cmds.c. (mi_lookup): Return a pointer to ``struct mi_cmd''. Wed Nov 24 15:03:34 1999 Andrew Cagney * mi-parse.c (mi_parse): Initialize TOKEN when a CLI command. * gdbmi.texinfo: Allow a before a CLI command. * mi-parse.h (struct mi_parse): Declare. (mi_parse): Change to return a ``struct mi_parse''. (enum mi_command_type): Delete PARSE_ERROR. * mi-main.c (struct mi_execute_command_context): Delete. (captured_mi_execute_command): Update (mi_execute_command): Update. Check for mi_parse returning NULL. Wed Nov 24 12:57:14 1999 Andrew Cagney * mi-parse.h: Remove const, from cmd parameter. Causes cascading warnings. Wed Nov 24 15:03:34 1999 Andrew Cagney * mi-parse.c (mi_parse): New function. Move parse code to here. * mi-main.c (parse): From here. Delete. Wed Nov 24 12:57:14 1999 Andrew Cagney * mi-parse.c, mi-parse.h: New files. Implement mi_parse_env. Wed Nov 24 11:24:05 1999 Andrew Cagney * mi-out.c (mi_field_string): Make string parameter constant. 1999-11-23 Elena Zannoni * mi-cmds.h (mi_cmd_target_download): Export. * mi-cmds.c (mi_cmds): Add mi_cmd_target_download. * mi-main.c: Include . (mi_cmd_target_download): New function, implement the target-download command. (mi_load_progress): New function. Called via the show_load_progress hook. Prints updates every 0.5 secs. (mi_command_loop): Initialize the show_load_progress hook. 1999-11-22 Elena Zannoni * mi-main.c (mi_cmd_exec_until): New function. Implement until command. (mi_cmd_exec_step_instruction): New function. Implement stepi command. (mi_cmd_exec_next_instruction): New function. Implement nexti command. * mi-cmds.c (mi_cmds): Add mi_cmd_exec_step_instruction, mi_cmd_exec_next_instruction, mi_cmd_exec_until. * mi-cmds.h (mi_cmd_exec_step_instruction, mi_cmd_exec_next_instruction, mi_cmd_exec_until): Export. Tue Nov 23 00:30:37 1999 Andrew Cagney * mi/gdbmi.texinfo: Document -data-read-memory. * mi-main.c (mi_cmd_data_read_memory): Fix off-by-one check of argc. (mi_cmd_data_read_memory): Label the output table with "memory". Thu Nov 18 18:15:53 1999 Andrew Cagney * mi-main.c (mi_cmd_exec_interrupt, mi_cmd_break_insert, mi_cmd_break_watch, mi_cmd_disassemble, mi_cmd_execute): Replace strdup with xstrdup. Thu Nov 18 20:50:09 1999 Andrew Cagney * mi-main.c (mi_cmd_data_read_memory): New function. Implement data-read-memory. * mi-cmds.h, mi-cmds.c: Add mi_cmd_data_read_memory. * mi-cmds.c (mi_cmds): Ditto. 1999-11-11 Elena Zannoni * mi-cmds.h (mi_cmd_break_watch): Export. * mi-cmds.c (mi_cmds): Hook up break-watch to function mi_cmd_break_watch. * mi-main.c (wp_type): New enumeration for the possible types of watchpoints. (mi_cmd_break_watch): New function, implements the break-watch command. 1999-11-11 Elena Zannoni * mi-main.c (mi_cmd_break_insert): Handle case in which the command is just a -break-insert w/o args. Fri Nov 12 00:01:52 1999 Andrew Cagney * mi-out.c (mi_field_string): Always quote the string. 1999-11-10 Elena Zannoni * mi-cmds.h(mi_cmd_data_list_changed_registers, mi_cmd_data_list_register_names): Export. * mi-cmds.c (mi_cmds): Hook up data-list-changed-registers to mi_cmd_data_list_changed_registers and data-list-register-names to mi_cmd_data_list_register_names. * mi-main.c (mi_cmd_data_list_changed_registers): New function, implements the data-list-changed-registers command. (mi_cmd_data_list_register_names): New function, implements the data-list-register-names command. (register_changed_p): New function. Decide whether the register contents have changed. (setup_architecture_data): New function. Initialize registers memory. (_initialize_mi_main): Call setup_architecture_data(), and register_gdbarch_swap(). Wed Nov 10 18:35:08 1999 Andrew Cagney * mi-main.c (mi_execute_command): Correctly quote error messages. Wed Nov 10 11:05:14 1999 Andrew Cagney * mi/gdbmi.texinfo: Delete . Replaced by . * mi-main.c (mi_console_raw_packet): Always quote console output. Tue Nov 9 17:53:05 1999 Andrew Cagney * mi-main.c (mi_console_file_new), mi-out.c (mi_out_new): Replace the tui_file with a mem_file. Ya! * mi-out.c (do_write): New function, wrapper to gdb_file_write. (mi_out_put): Pass do_write to gdb_file_put. * mi-main.c (mi_console_file_flush): Rewrite. Use mi_console_raw_packet to send data to the console. (mi_console_raw_packet): New function. Correctly create quoted C string packets. 1999-11-08 Elena Zannoni * mi-cmds.c (mi_cmds): Break-insert is now implemented by mi_cmd_break_insert. * mi-cmds.h (mi_cmd_break_insert): Export. * mi-main.c (bp_type): New enumeration. (mi_cmd_break_insert): New function. Implements all flavors of breakpoint insertion. Mon Nov 8 17:49:17 1999 Andrew Cagney * mi-main.c (mi_console_file_flush): Replace gdb_file_get_strbuf with tui_file_get_strbuf. Fri Nov 5 17:06:07 1999 Andrew Cagney * mi-main.c (mi_console_file_delete, mi_console_file_fputs, mi_console_file_flush): Call internal_error instead of error. Thu Nov 4 19:53:32 1999 Andrew Cagney * mi-main.c (captured_mi_execute_command): New function. (mi_execute_command): Rewrite. Replace SET_TOP_LEVEL() with call to captured_mi_execute_command via catch_errors. Thu Nov 4 20:33:58 1999 Andrew Cagney * mi-main.c (clean): Delete. (mi_command_loop): Delete extern declaration of mi_execute_command. 1999-10-28 Elena Zannoni * mi-main.c (mi_cmd_stack_select_frame): Conditionalize the body on UI_OUT, because select_frame_command_wrapper is only defined if UI_OUT is. (mi_cmd_exec_interrupt): Conditionalize the body on UI_OUT, because interrupt_target_command_wrapper is only defined if UI_OUT is. * mi-cmds.c (mi_cmds): Implement command exec-interrupt by mi_cmd_exec_interrupt. * mi-main.c (mi_cmd_exec_interrupt): New function. Implements exec-interrupt command. (mi_cmd_execute): If the target is running save execution command token in previous_async_command. If the command is not 'interrupt' and the target is running, reject it. (clean): New function. Free the arg and reset it to NULL. * mi-cmds.h (mi_cmd_exec_interrupt):Export. 1999-10-28 Elena Zannoni * mi-cmds.c (mi_cmds): Implement command stack-select-frame by mi_cmd_stack_select_frame. * mi-main.c (mi_cmd_stack_select_frame): New function. Implements stack-select-frame command. * mi-cmds.h (mi_cmd_select_frame):Export. 1999-10-26 Elena Zannoni * mi-cmds.c (mi_cmds): Implement commands stack-list-locals and stack-list-arguments by mi_cmd_stack_list_locals and mi_cmd_stack_list_args. * mi-main.c (mi_cmd_stack_list_locals): New function. Implements stack-list-locals command. (mi_cmd_stack_list_args): New function. Implements stack-list-arguments command. (list_args_or_locals): New function. Do all the work for the listing of locals or arguments. * mi-cmds.h (mi_cmd_stack_list_args,mi_cmd_stack_list_locals) : Export. 1999-10-25 Elena Zannoni * mi-cmds.c (mi_cmds): Add new command stack-info-depth. * mi-main.c (mi_cmd_stack_info_depth): New function. Implements the stack-info-depth command. * mi-cmds.h (mi_cmd_stack_info_depth): Export. 1999-10-22 Elena Zannoni * mi-main.c (mi_execute_command): Handle MI_CMD_ERROR case properly, for command that return error code and don't set mi_error_message. * mi-cmds.c (mi_cmds): Hook stack-list-frames command to mi_cmd_stack_list_frames function. * mi-cmds.h (mi_cmd_stack_list_frames): Export. * mi-main.c (mi_execute_command): Deal with a return code of MI_CMD_ERROR from the execution of mi commands. (mi_error_message): Static string variable, to contain the error message from mi commands. (mi_cmd_stack_list_frames): New function. Prints a backtrace. 1999-10-18 Elena Zannoni * mi-main.c (mi_cmd_disassemble): Handle the new command line parameter that specifies the number of disassembly lines to be displayed. (gdb_do_disassemble): Add new parameter. Count the number of lines that have been displayed, and stop when limit is reached. Wed Oct 13 18:04:13 1999 Andrew Cagney * mi-main.c (mi_command_loop): Don't initialize ``flush_hook''. 1999-10-13 Elena Zannoni * mi/gdbmi.texinfo: More reformatting of the grammars. 1999-10-12 Elena Zannoni * mi/gdbmi.texinfo: More TeX formatting. 1999-10-11 Elena Zannoni * mi/gdbmi.texinfo: First pass completed. All commands should have some comments/info. Escape '@' output special char. Reformat for TeX. 1999-10-08 Elena Zannoni * mi/gdbmi.texinfo: Filled in part of file command section, and stack section. 1999-10-07 Elena Zannoni * mi/gdbmi.texinfo: Filled in some sections about execution commands. Tue Oct 5 15:27:28 1999 Andrew Cagney * mi-cmds.h: Sort table * mi-cmds.c: Ditto. (MI_TABLE_SIZE): Increase to 251. 1999-10-04 Fernando Nasser * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete): Add missing cleanups. 1999-10-04 Fernando Nasser * mi-main.c (next_arg): Returns lenght as well. (which_var, mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_update): Do not modify the input string, use allocated storage instead. (mi_cmd_var_assign): Adjust call to next_arg() to include new argument. 1999-10-04 Fernando Nasser * mi-main.c (mi_execute_command): Fix handling of errors. 1999-10-04 Fernando Nasser * mi-out.c (mi_out_new): Call tui_sfileopen() instead of deprecated gdb_file_init_astream(). * mi-main.c (mi_console_file_new): Ditto. Mon Oct 4 15:17:29 1999 Andrew Cagney * mi-cmds.h: Sort function declarations. (mi_lookup): Add extern. * mi-cmds.c (mi_lookup): Delete dead code. (build_table): Call internal_error instead of error. (build_table): Send trace output to gdb_stdlog. 1999-10-01 Elena Zannoni * mi-main.c (mi_execute_async_cli_command): Don't do the cleanups if target_executing is null. 1999-09-28 Elena Zannoni * mi-main.c (async_p): Change var name to event_loop_p. Mon Sep 27 15:11:00 1999 Andrew Cagney * mi-main.c (mi_execute_async_cli_command, mi_execute_command): Replace target_has_async with function target_can_async_p. Sun Sep 26 00:12:52 1999 Andrew Cagney * mi-main.c (mi_cmd_target_select_continuation): Delete function. (mi_cmd_target_select): Simplify. target-connect is guarenteed to be synchronous. Sun Sep 26 00:12:52 1999 Andrew Cagney * mi-cmds.h (mi_cmd_ftype): Replace mi_impl_ftype. (enum mi_cmd_result): Define. * mi-cmds.c (struct mi_cmd): Update. (mi_lookup): Update. * mi-main.c (mi_cmd_execute): Update. * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_step, mi_cmd_target_select, mi_cmd_exec_continue, mi_cmd_exec_return, mi_cmd_exec_finish, mi_cmd_disassemble, mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_show_format, mi_cmd_var_info_num_children, mi_cmd_var_list_children, mi_cmd_var_info_type, mi_cmd_var_info_expression, mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, mi_cmd_var_update): Update. Return MI_CMD_DONE. 1999-09-22 Fernando Nasser * mi-main.c (mi_cmd_var_create): Use paddr() to format address on trace output. 1999-09-21 Fernando Nasser * mi-main.c (mi_cmd_var_create): Test for varobjdebug before printing trace and send it to gdb_stdlog. Mon Sep 20 13:41:04 1999 Andrew Cagney * Makefile.in (mi-out.o): Add dependency list. * mi-out.c: Include "mi-out.h". 1999-09-18 Elena Zannoni * mi-main.c (_initialize_mi_main): Events on stadin are now handled by stdin_event_handler. 1999-09-17 Fernando Nasser * mi-cmds.c (mi_cmds): Add var-* commands. 1999-09-17 Fernando Nasser * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_show_format, mi_cmd_var_info_num_children, mi_cmd_var_list_children, mi_cmd_var_info_type, mi_cmd_var_info_expression, mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression, mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, which_var, next_arg): New functions. Implement the -var-* commands. * mi-cmds.h: Add prototypes for the above. 1999-09-14 Fernando Nasser * mi-cmds.c (mi_cmds): Add detach command. 1999-09-09 Fernando Nasser * mi-cmds.c (lookup_table): Fix typo. 1999-09-09 Fernando Nasser * mi-cmds.c (mi_cmds): Fix typo and missing command. 1999-09-09 Fernando Nasser * mi-main.c: Properly align function prototypes. (mi_cmd_target_select): Proper check for NULL value. 1999-09-09 Fernando Nasser * mi-main.c (mi_execute_async_cli_command): Fix for native targets that do not have async yet. 1999-09-01 Elena Zannoni * mi-main.c (mi_cmd_disassemble): Remove unused var. (gdb_do_disassemble): Ditto. 1999-08-30 Elena Zannoni * mi-main.c: Replace all the occurrences of 'asynch' in variable or function names with 'async' to make it consistent with the rest of gdb. Mon Aug 30 18:16:39 1999 Andrew Cagney * mi-main.c: #include for isspace(). 1999-08-27 Elena Zannoni * mi-main.c (gdb_do_disassemble): This function returns void, not int. 1999-08-26 Elena Zannoni * mi-main.c (mi_cmd_disassemble): Don't use atoi() on the high address string, just treat it same as address low. (gdb_do_disassemble): Parse high_address string before seeing if it is zero. 1999-08-25 Elena Zannoni * mi-main.c (mi_cmd_disassemble): New function to produce disassembly output for mi. (gdb_dis_asm_read_memory): New function. Read the disassembly from the executable file, instead of target memory. (compare_lines): New function. Compare order of disassembly lines. (gdb_do_disassemble): New function. Do the real job of getting the assembly code out. * mi-cmds.c (mi_cmds): Do data-disassemble mi command via the mi_cmd_disassemble function. * mi-cmds.h: Export new function mi_cmd_disassemble. Wed Aug 25 15:58:31 1999 Andrew Cagney * mi-main.c (mi_command_loop): Remove references to ui-hooks. 1999-08-21 Elena Zannoni * mi-main.c (mi_execute_asynch_cli_command): Fix the incorrect usage of strcat(): allocate enough space for the string. 1999-08-13 Elena Zannoni From Christopher Faylor * mi-main.c (mi_execute_command): Make sure we flush all the output after each command. 1999-08-10 Elena Zannoni * mi-main.c (_initialize_mi_main): Remove casting in call to add_file_handler. Sun Aug 8 17:20:57 1999 Andrew Cagney * mi-main.c (mi_cmd_target_select, mi_execute_asynch_cli_command): Replace call to fatal with call to internal_error. 1999-07-26 Fernando Nasser * mi-main.c (mi_cmd_execute): Add return code. (mi_execute_command): Make appropriate changes when calling the function mentioned above. (mi_cmd_gdb_exit, mi_cmd_target_select, mi_cmd_target_select_continuation, mi_execute_command, mi_exec_asynch_cli_cmd, mi_exec_asynch_cli_cmd_continuation): Print token, prefix, class and output (if any) in one single group of statements. (mi_execute_command, mi_cmd_execute): Fix error prefix. (mi_cmd_execute): Use exec cleanup for token. * mi-out.c (mi_out_rewind): New function. * mi-out.h: Prototype for the above. 1999-07-16 Fernando Nasser * mi-main.c (mi_cmd_gdb_exit): Use buffer for exit message. (mi_cmd_execute): Route error messages to correct file. (mi_execute_asynch_cli_command): Insert line feed after running message. 1999-07-16 Fernando Nasser * mi-out.h (mi_out_buffered): Add extern declaration. * mi-out.c (mi_out_buffered): New function. Insert a string at the current buffer position. * mi-main.c (mi_cmd_target_select, mi_execute_command, mi_cmd_execute, mi_execute_asynch_cli_command): Use the above function instead of printing to raw_stdout. (mi_cmd_target_select, mi_cmd_target_select_continuation, mi_execute_command, mi_cmd_execute, mi_execute_cli_command, mi_exec_asynch_cli_cmd_continuation): Fix handling of token and prefix. (mi_execute_cli_command): Remove parameter no longer needed. 1999-07-15 Elena Zannoni * mi-main.c (mi_cmd_target_select_continuation): Print the numeric token when we are connected. (mi_execute_command): Don't print the token now, do it later. (mi_execute_cli_command): Add a new parameter for the numeric token. Print the token, the prefix and the class after the command has executed, not before. (mi_execute_asynch_cli_command): Don't print an extra blank line. 1999-07-15 Fernando Nasser * mi-main.c (mi_gdb_exit): Add \n at the end. 1999-07-15 Fernando Nasser * mi-main.c (mi_cmd_execute): New function. Dispatch a mi operation. (mi_execute_command): Use the above. 1999-07-15 Fernando Nasser * mi-main.c: Fix identation. 1999-07-15 Elena Zannoni * mi-main.c: Include target.h and inferior.h. (mi_cmd_target_select): New function to execute the target-select mi operation. (mi_cmd_target_select_continuation): New function. Continuation for the target-select operation. (mi_execute_command): In case of an MI command which requires asynchronous execution, do not try to display the result now. If the execution has to look synchronous don't display the "(gdb)" prompt. (mi_execute_asynch_cli_command): Invoke real asynchronous commands, set up exec_cleanups, and continuations. (mi_exec_asynch_cli_cmd_continuation): New function. Continuation for all the MI execution commands except 'target-select'. (mi_execute_command): Handle null commands by exiting gdb, instead of core dumping. * mi-cmds.c (mi_cmds): Hook up -target-select operation to new mi function. * mi-cmds.h (mi_cmd_target_select): Add extern declaration. Thu Jul 15 10:31:39 1999 Andrew Cagney * mi-main.c (struct mi_console_file): Add field ``prefix''. (mi_console_file_new): Add argument prefix. Initialize prefix field. (mi_console_file_flush): Use ``prefix'' instead of "~" as the prefix string. (mi_command_loop): Update stream output prefixes. gdb_stdout == "~", gdb_stderr / gdb_stdlog == "&", gdb_stdtarg == "@". 1999-07-13 Fernando Nasser * mi-main.c (ui_out_data): New field first_header. Fix output when no breakpoints are found. (mi_table_begin, mi_table_body, mi_table_header): Test for first_header. (mi_table_end): Test for supress_field_separator. (mi_message): Remove messages from MI output. 1999-06-30 Fernando Nasser * mi-cmds.c (mi_cmds[]): Delete gdb-cli operation. * mi-main.c (parse): Remove ifdefs for cli commands parsing. (mi-execute-command): Ditto. Mon Jun 28 13:06:52 1999 Andrew Cagney * mi-out.h: New file. (mi_out_new, mi_out_put): Move mi specific delcarations to here. * ui-out.h: From here. * mi-main.c: Include "mi-out.h". 1999-06-25 Fernando Nasser * top.c (print_gdb_version): Add the word HEADLESS when output follows headless format. (print_command_lines): Fix typo. 1999-06-25 Elena Zannoni * event-loop.h: Export input_fd. * mi-main.c (mi_command_loop): Use the event loop if running asynchronously. (mi_execute_command_wrapper): New function. (_initialize_mi-main): Set things up for running asynchronously. 1999-06-18 Fernando Nasser * mi-cmds.c (mi_lookup): Deleted. (lookup_table): New function. Replaces old mi_lookup() for local use. (mi_lookup): New function. External interface for command table searchs. (build_table): New definition. (mi_cmds[]): Add several command implementations and the gdb-cli special operation. (mi_cmd_execute): Deleted. * mi-cmds.h: Add type definition for command implementation function pointers, add declaration for new implementation functions and a declaration for mi_lookup(). * mi-main.c (mi_execute_asynch_cli_command): New function. Captures code that was repeated for all asynch operations. (mi_cmd_exec_*): Use the above new function. (mi_gdb_cmd_exit): Fix the output, printing something appropriate. (mi_cmd_exec_finish): New operation implementation function. (mi_cmd_exec_return): Ditto. (parse): Prepare to remove cli commands. (mi_execute_command): Fix the output and change the way mi-cmds is used. 1999-06-18 Fernando Nasser * mi-out.c (mi_table_begin): Add missing field separator call. Thu Jun 17 21:05:40 1999 Fernando Nasser * breakpoint.c (breakpoint_1): Remove space in breakpoint table id. (mention): Use ui_out for last new line (forgotten). 1999-06-16 Fernando Nasser * mi-main.c (mi_console_file_flush): Prevent prefix printing when buffer empty; change prefix to '~'. (mi_cmd_exec_*): Prefix normal output with '^' instead of ','; remove unwanted new lines before "stopped". 1999-06-16 Fernando Nasser * mi-cmds.c (struct mi_cmds): Updated entries for -exec-continue and exec-next operations. (mi_cmd_execute): New text for error messages. * mi-cmds.h: Add declaration for mi_cmd_exec_next and mi_cmd_exec_continue. * mi-main.c (mi_cmd_exec_next): New function. Implements exec-next operation. (mi_cmd_exec_continue): New function. Implements exec-continue operation. (mi_execute_comand): Add missing space to prompt. (mi_cmd_exec_run): Ditto. (mi_cmd_exec_step): Ditto. * mi-out.c (mi_out_new): Add flags argument to ui_out_new call. (ui_list_end): Reset supress_field_separator flag. Sat Jun 12 11:49:10 1999 Andrew Cagney * mi-cmds.h. mi-cmds.c (exec step): Command implemented by mi_cmd_exec_step instead of cli call. * mi-main.c (mi_cmd_exec_step): New function. * mi-cmds.h. mi-cmds.c (exec run): Command implemented by mi_cmd_exec_run instead of cli call. * mi-main.c (mi_cmd_exec_run): New function. * mi-cmds.h. mi-cmds.c (gdb exit): Command implemented by mi_cmd_gdb_exit instead of quit_force. * mi-main.c (mi_cmd_gdb_exit): New function. Sat Jun 12 11:33:23 1999 Andrew Cagney * mi-main.c (mi_command_loop): Pass mi_input to simplified_command_loop. (mi_input): New function. Calls gdb_readline with no prompt. Sat Jun 12 11:19:02 1999 Andrew Cagney * mi-main.c (mi_console_file_fputs): Re-implement. Use a buffer to accumulate output. * mi-main.c (struct mi_console_file): Add a buffer. (mi_console_file_new): Create a buffer. (mi_console_file_flush): New function. Sat Jun 12 10:59:39 1999 Andrew Cagney * mi-cmds.h (raw_stdout): Declare. Will be moved later. * mi-cmds.c (mi_cmd_execute): Send error messages to RAW stdout. (mi_cmds): Sort by class. * mi-main.c (raw_stdout): Make global. * mi-main.c: Remove #ifdef UI_OUT. File assumes UI_OUT is present. * mi-main.c: Include "gdb_string.h". (mi_out_put): Delete declaration. 1999-06-11 Fernando Nasser * mi-main.c: Add pre-processor test for UI_OUT. (mi_execute_command): Add pre-processor test for UI_OUT. Fri Jun 11 23:11:41 1999 Andrew Cagney * mi-main.c (raw_stdout): New variable. (mi_execute_command): Write mi-out direct to raw_stdout. (mi_command_loop): Create raw_stdout. Attach gdb_stdout to the console. (mi_console_file_fputs, mi_console_file_delete, mi_console_file_new): New functions. (struct mi_console_file): Declare. Fri Jun 11 18:34:33 1999 Andrew Cagney * mi-main.c (mi_execute_command): Call mi_out_put to display the result. * mi-out.c (mi_out_put): New function. * ui-out.h (mi_out_put): Add declare. Will move later. * Makefile.in (mi-cmds.o, mi-main.o): Add dependency on ui-out.h. * mi-out.c (mi_field_string, mi_field_fmt, mi_message, mi_flush, out_field_fmt, list_open, list_close): Replace gdb_stdout with data->buffer. (field_separator, list_open, list_close): Add uiout parameter. (mi_table_begin, mi_table_body, mi_table_end, mi_list_begin, mi_list_end, mi_field_string, mi_field_fmt, out_field_fmt, out_field_fmt): Update. * mi-out.c (mi_out_new): Initialize supress_field_separator. (supress_field_separator): Move into mi-out local data object. (mi_table_begin, mi_list_begin, field_separator): Update. Fri Jun 11 16:08:37 1999 Andrew Cagney * mi-out.c (mi_out_new): New function, replace init_mi_out. * mi-main.c (mi_command_loop): Call mi_out_new(). * ui-out.h (mi_out_new): Add declaration. Will move later. (mi_ui_out_impl): Delete. Wed Jun 9 16:42:16 1999 Andrew Cagney * mi-main.c: Include "ui-hooks.h". (mi_init_ui, mi_command_loop): New functions. (_initialize_mi_main): Install ``mi'' as the interpreter when selected. Mon Jun 7 18:43:43 1999 Andrew Cagney From Fernando Nasser * mi-cmds.c (build_table): Clean up error message. * mi-cmds.c (mi_cmd_execute), mi-main.c (mi_execute_command): Only print debug information when mi_debug_p. * mi-cmds.h (mi_debug_p), mi-main.c: Global, control debug messages. Thu Jun 3 00:44:52 1999 Andrew Cagney From Fernando Nasser : * mi-cmds.c: Add CLI definitions for "exec-arguments", "exec-next", "gdb-exit", "break-list", "break-info", "exec-step" and "stack-list-frames" to mi_cmds. (struct mi_command): Add ``from_tty'' argument to func. * mi-cmds.h (quit_force): Declare. 1999-05-31 Fernando Nasser * mi-out.c (mi_table_end): Remove unwanted "\n". Thu May 27 14:59:06 1999 Andrew Cagney * top.c: Include "ui-hooks.h". (call_interp_loop): Tempoary. Pass mi_execute_command to simplified_command_loop. Initialize gdb_stdout & gdb_stderr to stdio gdb_file streams. Force all hooks to null. * mi-cmds.h, mi-main.c, mi-cmds.c: New files. * Makefile.in (SFILES): Add mi-main.c, mi-cmds.c (COMMON_OBS): Add mi-main.o, mi-cmds.o. (mi_cmds_h): Define. Wed May 26 12:39:49 1999 Andrew Cagney * top.c (call_interp_loop): Hack. Add extern declaration for mi_ui_out_impl. 1999-05-25 Fernando Nasser * mi-out.c: New table syntax. Mon May 24 16:16:29 1999 Andrew Cagney mi-out.c (_initialize_mi_out): Add external declaration. 1999-05-21 Fernando Nasser * mi-out.c (mi_table_begin): Added missing parameter. 1999-05-21 Fernando Nasser * mi-out.c: Changed table markers and added table id. 1999-05-21 Fernando Nasser * mi-out.c: New file. Implements low-level ui-out primitives for CLI-based interaction. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: