Joel Brobecker
75082e8cbb
[Ada] New GDB/MI command: -ada-tasks-info
...
This patch introduces a new GDB/MI command: -ada-tasks-info,
which is meant to be the MI equivalent of the CLI `info tasks'
command.
This new command returns an array, with each row corresponding
to one task. For now, the columns of the array corresponds to
the columns displayed in the CLI output.
gdb/ChangeLog:
* ada-lang.h (struct inferior): Declare.
(print_ada_task_info): Add declaration.
* ada-tasks.c (print_ada_task_info): Make non-static.
* mi/mi-cmds.c (mi_cmds): Add "ada-task-info".
* mi/mi-cmds.h (mi_cmd_ada_task_info): Add declaration.
* mi/mi-main.c: #include "ada-lang.h".
(mi_cmd_list_features): Add "ada-task-info" to the list
of supported features.
(mi_cmd_ada_task_info): New function.
2011-10-03 21:38:31 +00:00
Joel Brobecker
7b6bb8daac
run copyright.sh for 2011.
2011-01-01 15:34:07 +00:00
Vladimir Prus
8dedea0203
Easier and more stubborn MI memory read commands.
...
* mi/mi-cmds.c (mi_cmds): Register data-read-memory-bytes
and data-write-memory-bytes.
* mi/mi-cmds.h (mi_cmd_data_read_memory_bytes)
(mi_cmd_data_write_memory_bytes): New.
* mi/mi-main.c (mi_cmd_data_read_memory): Use regular target_read.
(mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory_bytes):
New.
(mi_cmd_list_features): Add "data-read-memory-bytes" feature.
* target.c (target_read_until_error): Remove.
(read_whatever_is_readable, free_memory_read_result_vector)
(read_memory_robust): New.
* target.h (target_read_until_error): Remove.
(struct memory_read_result, free_memory_read_result_vector)
(read_memory_robust): New.
2010-08-13 13:22:44 +00:00
Vladimir Prus
011aacb08e
Implement -trace-save.
...
* mi-cmds.h (mi_cmds_trace_save): Declare.
* mi-cmds.c (mi_cmds): Register -trace-save.
* mi/mi-main.c (mi_cmd_trace_save): New.
* remote.c (remote_save_trace_data): Take const parameter.
* target.h (struct target_ops::to_save_trace_data): Take
const parameter.
* target.c (update_current_target): Adjust to the above.
* tracepoint.c (trave_save): New, extracted from
(trace_save_command): ...this.
(tfile_trace_find): Remove message that is unnecessary now
that 'tfind' reports found frame.
* tracepoint.h (trace_save): Declare.
2010-03-23 22:05:46 +00:00
Vladimir Prus
f197e0f1b1
Implement -trace-find.
...
* mi/mi-cmds.c (mi_cmds): Register -trace-find.
* mi/mi-cmds.h (mi_cmd_trace_find): Declare.
* mi/mi-main.c (mi_cmd_trace_find): New.
* target.h (struct target_ops): Document to_trace_find.
* tracepoint.h (tfind_1): Declare.
* tracepoint.c (finish_tfind_command): Rename to...
(tfind_1): ...this.
* remote.c (remote_trace_find): Return -1 if target say
there's no frame. Improve error diagnostics.
2010-03-23 22:01:47 +00:00
Vladimir Prus
40e1c229a2
-trace-define-variable and -trace-list-variables.
...
* tracepoint.c (create_trace_state_variable): Make
private copy of name, as opposed to assuming the
pointer lives forever.
(tvariables_info_1): New.
(tvariables_info): Use the above.
* tracepoint.h (create_trace_state_variable, tvariables_info_1):
Declare.
* mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
and -trace-list-variables.
* mi/mi-cmds.h (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
* mi/mi-main.c (mi_cmd_trace_define_variable)
(mi_cmd_trace_list_variables): New.
2010-03-23 21:50:11 +00:00
Vladimir Prus
9b4c786c6c
Implement -break-passcount.
...
* mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
* mi/mi-cmds.c (mi_cmds): Register -break-passcount.
* mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
2010-03-23 21:48:14 +00:00
Vladimir Prus
f224b49dcd
-trace-start/-trace-end/-trace-status.
...
* mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
and -trace-stop.
* mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): Declare.
* mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
(mi_cmd_trace_stop): New.
* tracepoint.c (start_tracing): New, extracted from...
(trace_start_command): ...this.
(trace_status_mi): New.
* tracepoint.h (struct trace_status): Document
stopping_tracepoint.
(start_tracing, stop_tracing, trace_status_mi): Declare.
2010-03-23 21:46:33 +00:00
Vladimir Prus
a79b8f6ea8
Multiexec MI
...
* breakpoint.c (clear_syscall_counts): Take struct inferior*.
* inferior.c (add_inferior_silent): Notify inferior_added
observer.
(delete_inferior_1): Notify inferior_removed observer.
(exit_inferior_1): Pass inferior, not pid, to observer.
(inferior_appeared): Likewise.
(add_inferior_with_spaces): New.
(add_inferior_command): Use the above.
* inferior.h (delete_inferior_1, add_inferior_with_spaces):
Declare.
* inflow.c (inflow_inferior_exit): Likewise.
* jit.c (jit_inferior_exit_hook): Likewise.
* mi/mi-cmds.c (mi_cmds): Register add-inferior and
remove-inferior.
* mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
* mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New.
(report_initial_inferior): New.
(mi_inferior_removed): Register the above. Make sure
inferior_added observer is called on the first inferior.
(mi_new_thread, mi_thread_exit): Thread group is now identified by
inferior number, not pid.
(mi_solib_loaded, mi_solib_unloaded): Report which inferiors are
affected.
* mi/mi-main.c (current_context): New.
(proceed_thread_callback): Use typed closure.
Proceed everything if pid is 0. Most implementation split into
(proceed_thread): ... this.
(run_one_inferior): New.
(mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run):
Adjust for multiexec behaviour.
(mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
(mi_cmd_execute): Handle the 'thread-group' option here.
Do some extra checks.
* mi-parse.c (mi_parse): Handle the --all and --thread-group
options.
* mi-parse.h (struct mi_parse): New fields all and thread_group.
2010-02-24 07:51:46 +00:00
Vladimir Prus
115d30f9b6
Make -exec-run a proper MI commands.
...
* mi/mi-cmds.h (mi_cmd_exec_run): Declare.
* mi/mi-cmds.c (mi_cmds): Adjust.
* mi/mi-main.c (mi_cmd_exec_run): New.
2010-02-24 07:33:55 +00:00
Joel Brobecker
4c38e0a4fc
Update copyright year in most headers.
...
Automatic update by copyright.sh.
2010-01-01 07:32:07 +00:00
Vladimir Prus
daf3c9776f
* mi/mi-cmds.h (mi_cmd_stack_list_variables): Declare.
...
* mi/mi-cmds.c (mi_cmds): Register -stack-list-variables.
* mi/mi-cmd-stack.c (enum what_to_list): New.
(list_args_or_locals): Accept what_to_list parameter.
Use 'variables' as output name of all are requested.
(mi_cmd_stack_list_variables): New.
(mi_cmd_stack_list_locals, mi_cmd_stack_list_args): Adjust.
2009-09-19 09:59:29 +00:00
Tom Tromey
0cc7d26fe4
gdb
...
* varobj.h (varobj_update_result_t) <new>: New field.
(varobj_get_child_range, varobj_set_child_range): Declare.
(varobj_list_children): Update.
(varobj_enable_pretty_printing, varobj_has_more)
(varobj_pretty_printed_p): Declare.
* varobj.c (pretty_printing): New global.
(varobj_enable_pretty_printing): New function.
(struct varobj_root) <from, to, constructor, child_iter,
saved_item>: New fields.
(varobj_create): Don't call install_default_visualizer.
(instantiate_pretty_printer): Don't use value_copy.
(varobj_has_more): New function.
(restrict_range): New function.
(install_dynamic_child): Likewise.
(dynamic_varobj_has_child_method): Likewise.
(update_dynamic_varobj_children): Remove 'new_and_unchanged'
argument; add 'new', 'unchanged', 'from', and 'to' arguments.
Rewrite.
(varobj_get_num_children): Call update_dynamic_varobj_children.
(varobj_list_children): Add 'from' and 'to' arguments. Ignore
result of update_dynamic_varobj_children. Don't call
install_default_visualizer. Restrict result range.
(varobj_add_child): Don't call install_default_visualizer.
(varobj_pretty_printed_p): New function.
(install_visualizer): Rewrite. Move earlier in file.
(install_default_visualizer): Likewise.
(construct_visualizer): New function.
(install_new_value_visualizer): Likewise.
(install_new_value): Don't call release_value. Special case
pretty-printed objects. Use value_incref. Rearrange "changed"
logic.
(varobj_get_child_range): New function.
(varobj_set_child_range): Likewise.
(varobj_set_visualizer): Rewrite.
(varobj_update): Rewrite pretty-printing logic.
(new_variable): Initialize new fields.
(free_variable): Destroy new fields.
(value_of_root): Copy 'from' and 'to'.
(my_value_of_variable): Handle pretty-printers.
(value_get_print_value): Rework pretty-printing logic.
(cplus_describe_child): Don't use release_value.
* mi/mi-cmds.h (mi_cmd_enable_pretty_printing)
(mi_cmd_var_set_update_range): Declare.
* mi/mi-cmds.c (mi_cmds): Add enable-pretty-printing and
var-set-update-range.
* mi/mi-cmd-var.c (print_varobj): Update. Emit "dynamic"
attribute.
(mi_cmd_var_create): Emit "has_more" attribute.
(mi_cmd_var_set_format): Plug memory leak.
(mi_print_value_p): Replace 'type' argument with 'var'. Handle
pretty-printed varobjs.
(mi_cmd_var_list_children): Accept 'from' and 'to' arguments.
Emit "has_more" attribute.
(mi_cmd_var_evaluate_expression): Plug memory leak.
(mi_cmd_var_assign): Likewise.
(varobj_update_one): Likewise. Emit "dynamic", "has_more", and
"new_children" attributes.
(mi_cmd_enable_pretty_printing): New function.
(mi_cmd_var_set_update_range): Likewise.
gdb/doc
* gdb.texinfo (GDB/MI Variable Objects): Document
-enable-pretty-printing, -var-set-update-range, dynamic varobjs.
Expand -var-update documentation.
gdb/testsuite
* lib/mi-support.exp (mi_create_varobj): Update.
(mi_create_floating_varobj): Likewise.
(mi_create_dynamic_varobj): New proc.
(mi_varobj_update): Update.
(mi_varobj_update_with_type_change): Likewise.
(mi_varobj_update_kv_helper): New proc.
(mi_varobj_update_dynamic_helper): Rewrite.
(mi_varobj_update_dynamic): New proc.
(mi_list_varobj_children): Update.
(mi_list_varobj_children_range): Add 'from' and 'to' arguments.
* gdb.python/python-prettyprint.py (pp_outer): New class.
(pp_nullstr): Likewise.
(lookup_function): Register new printers.
* gdb.python/python-prettyprint.c (struct substruct): New type.
(struct outerstruct): Likewise.
(substruct_test): New function.
(struct nullstr): New type.
(string_1, string_2): New globals.
(main): Add new tests.
* gdb.python/python-mi.exp: Added regression tests.
* gdb.mi/mi2-var-display.exp: Update.
* gdb.mi/mi2-var-cmd.exp: Update.
* gdb.mi/mi2-var-child.exp: Update.
* gdb.mi/mi2-var-block.exp: Update.
* gdb.mi/mi-var-invalidate.exp: Update.
* gdb.mi/mi-var-display.exp: Update.
* gdb.mi/mi-var-cmd.exp: Update.
* gdb.mi/mi-var-child.exp: Update.
* gdb.mi/mi-var-block.exp: Update.
* gdb.mi/mi-break.exp: Update.
* gdb.mi/gdb701.exp: Update.
2009-09-15 18:51:26 +00:00
Vladimir Prus
48cb2d8581
Implement -break-commands
...
* breakpoint.c (get_breakpoint, breakpoint_set_commands): New.
(commands_command): Use breakpoint_set_commands.
* breakpoint.h (get_breakpoint, breakpoint_set_commands): Declare.
* mi/mi-cmds.h (mi_cmd_break_commands): New.
* mi/mi-cmds.c: Register -break-commands.
* mi/mi-cmd-break.c (mi_cmd_break_commands, mi_read_next_line)
(mi_command_line_array, mi_command_line_array_cnt)
(mi_command_line_array_ptr): New.
2009-08-03 12:39:01 +00:00
Tom Tromey
b631324398
gdb
...
2009-05-27 Vladimir Prus <vladimir@codesourcery.com>
Tom Tromey <tromey@redhat.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
* mi/mi-main.c (mi_cmd_list_features): List "python" feature.
* varobj.h (varobj_set_visualizer): Declare.
(varobj_get_display_hint): Likewise.
(varobj_update_result_t) <children_changed, value_installed>: New
fields.
* mi/mi-cmds.c (mi_cmds): Add var-set-visualizer.
* mi/mi-cmds.h (mi_cmd_var_set_visualizer,
mi_cmd_var_set_child_range): Declare.
* mi/mi-cmd-var.c (mi_cmd_var_set_visualizer): New function.
(mi_cmd_var_list_children): Emit display hint.
(varobj_update_one): Emit display hint. Handle dynamic children.
* python/python.c (GdbMethods): Add "default_visualizer".
* python/python-internal.h (apply_varobj_pretty_printer,
gdbpy_get_varobj_pretty_printer, gdbpy_get_display_hint):
Declare.
(gdbpy_default_visualizer): Likewise.
* varobj.c: Include python.h, python-internal.h.
(PyObject): New typedef.
(struct varobj) <children_requested, pretty_printer>: New fields.
(varobj_create): Call install_default_visualizer.
(instantiate_pretty_printer): New function.
(varobj_set_display_format): Update.
(varobj_get_display_hint): New function.
(update_dynamic_varobj_children): New function.
(varobj_get_num_children): Handle dynamic children.
(varobj_list_children): Likewise.
(install_new_value): Likewise.
(varobj_add_child): New function.
(install_visualizer): Likewise.
(install_default_visualizer): Likewise.
(varobj_set_visualizer): Likewise.
(varobj_update): Handle dynamic children.
(create_child): Use create_child_with_value.
(create_child_with_value): New function.
(value_get_print_value): Call pretty printer. Add value_formatter
argument.
(c_value_of_variable): Update.
(varobj_invalidate): Always free all_rootvarobj.
* python/python-prettyprint.c (apply_varobj_pretty_printer): New
function.
(gdbpy_get_varobj_pretty_printer): Likewise.
(gdbpy_default_visualizer): Likewise.
gdb/doc
2009-05-27 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (GDB/MI Miscellaneous Commands): Document "python"
feature.
(GDB/MI Variable Objects): Document -var-set-visualizer.
gdb/testsuite
2009-05-27 Tom Tromey <tromey@redhat.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
* lib/mi-support.exp (mi_varobj_update_dynamic): New proc.
(mi_child_regexp): Likewise.
(mi_list_varobj_children_range): Likewise.
(mi_get_features): Likewise.
(mi_list_varobj_children): Rewrite.
* gdb.python/python-mi.exp: New file.
2009-05-28 01:09:20 +00:00
Vladimir Prus
143260c9bf
Implement -exec-jump.
...
* mi/mi-cmds.h (mi_cmd_exec_jump): Declare.
* mi/mi-main.c (mi_cmd_exec_jump): New.
* mi/mi-cmds.c (mi_cmds): Register exec-jump.
2009-04-08 06:58:37 +00:00
Joel Brobecker
0fb0cc7590
Updated copyright notices for most files.
2009-01-03 05:58:08 +00:00
Vladimir Prus
6418d433f1
Implement '-target-detach pid'.
...
* infcmd.c (detach_command): Make nonstatic.
* inferior.h (detach_command): Declare.
* mi/mi-cmds.c (mi_cmds): Don't route -target-detach via CLI.
* mi/mi-cmds.h (mi_cmd_target_detach): Declare.
* mi/mi-main.c (find_thread_of_process, mi_cmd_target_detach): New.
2008-11-17 16:37:35 +00:00
Vladimir Prus
3ee1c036ac
Implement -list-thread-groups.
...
* thread.c (print_thread_info): New parameter pid, to print
threads of specific process.
* gdbthread.h (print_thread_info): New parameter pid.
* mi/mi-cmds.c (mi_cmds): Register -list-thread-groups.
* mi/mi-cmds.h (mi_cmd_list_thread_groups): New.
* mi/mi-main.c (mi_cmd_thread_info): Adjust.
(print_one_process, mi_cmd_list_thread_groups): New.
2008-11-17 12:13:49 +00:00
Vladimir Prus
c6ebd6cf99
* target.c (target_async_permitted, target_async_permitted_1)
...
(set_maintenance_target_async_permitted)
(show_maintenance_target_async_permitted): New.
(initialize_targets): Register 'set target-async'.
* target.h (target_async_permitted): Declare.
* linux-nat.c (linux_nat_async_enabled)
(linux_nat_async_permitted, set_maintenance_linux_async_permitted)
(show_maintenance_linux_async_permitted): Remove.
(sigchld_handler, linux_nat_is_async_p, linux_nat_can_async_p)
(get_pending_events, linux_nat_async): Use target_async_permitted.
(linux_nat_set_async_mode): Remove, moving the only used bits
into...
(linux_nat_setup_async): This.
(_initialize_linux_nat): Do not register 'maint set linux-async'.
Use linux_nat_setup_async.
* remote.c (remote_async_permitted, remote_async_permitted_set)
(set_maintenance_remote_async_permitted)
(show_maintenance_remote_async_permitted): Remove.
(remote_open_1, remote_terminal_inferior, remote_can_async_p)
(remote_is_async_p): Use target_async_permitted.
(_initialize_remote): Don't register 'main set remote-async'.
* mi/mi-cmds.c (mi_cmds): Register -list-target-features.
* mi/mi-cmds.h (mi_cmd_list_target_features): New.
* mi/mi-main.c (mi_cmd_list_target_features): New.
2008-08-19 13:05:02 +00:00
Vladimir Prus
1b98914a55
* mi/mi-cmds.c (mi_cmds): Route -exec-run, -exec-until,
...
-target-download and -target-select via CLI, so that
the quoting rules are the same as they were (unfortunately)
in all prior gdb releases.
* mi/mi-cmds.h (mi_cmd_exec_run, mi_cmd_exec_until)
(mi_cmd_target_download, mi_cmd_target_select): Remove.
* mi/mi-main.c (mi_cmd_exec_run, mi_cmd_exec_until)
(mi_cmd_target_download, mi_cmd_target_select): Remove.
(mi_cmd_execute): Set current_token even for commands
routed via CLI.
2008-06-29 17:36:36 +00:00
Vladimir Prus
ce8f13f88e
Kill the return value for all MI command functions.
...
* mi/mi-cmds.h (enum mi_cmd_result): Remove.
(mi_cmd_argv_ftype): Change return type to void.
* mi/mi-main.c: Adjust all function that implement
MI commands to return nothing.
(struct captured_mi_execute_command_actions):
Remove the rc field.
(mi_cmd_execute): Return nothing.
(mi_execute_async_cli_command): Return nothing.
(mi_cmd_exec_interrupt): Don't print ^done here.
(mi_cmd_target_select): Don't print ^connected here.
(captured_mi_execute_command): Don't check for MI_CMD_DONE.
Special-case -target-select and output ^connected, not ^done.
* mi/mi-cmd-break.c: Adjust.
* mi/mi-cmd-disas.c: Adjust.
* mi/mi-cmd-env.c: Adjust.
* mi/mi-cmd-file.c: Adjust.
* mi/mi-cmd-stack.c: Adjust.
* mi/mi-cmd-target.c: Adjust.
* mi/mi-cmd-var.c: Adjust.
* mi/mi-interp.c: Adjust.
* mi/mi-symbol-cmds.c: Adjust.
2008-06-25 15:15:42 +00:00
Vladimir Prus
9e22b03a59
* mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
...
Adjust all prototypes using mi_cmd_args_ftype to use
mi_cmd_argv_ftype.
(struct mi_cmd): Remove the args_func field.
* mi/mi-cmds.c: Don't provide value for the args_func field.
* mi/mi-main.c (mi_execute_async_cli_command)
(mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
(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, mi_cmd_exec_interrupt)
(mi_cmd_target_download): Adjust.
(mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
(mi_cmd_execute): Do not check for args_func.
(mi_execute_async_cli_command): Adjust.
* mi/mi-parse.c: Don't check for args_func.
2008-04-24 13:28:06 +00:00
Pedro Alves
a13e061a1b
gdb/
...
2008-04-04 Pedro Alves <pedro@codesourcery.com>
* mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
(mi_error_message): Delete declaration.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
returning MI_CMD_ERROR.
* mi/mi-main.c (mi_error_message): Delete.
(mi_cmd_exec_interrupt):
(mi_cmd_thread_select, mi_cmd_thread_list_ids)
(mi_cmd_thread_info): Call error instead of returning
MI_CMD_ERROR.
(mi_cmd_data_list_register_values): Call error instead of
returning MI_CMD_ERROR. Adapt to new get_register interface.
(get_register): Change return typo to void. Call error instead of
returning MI_CMD_ERROR.
(mi_cmd_data_write_register_values): Call error instead of
returning MI_CMD_ERROR.
(mi_cmd_list_features): Return MI_CMD_DONE.
(captured_mi_execute_command): Remove MI_CMD_ERROR handling.
(mi_execute_command): Always print exceptions with -error.
gdb/testsuite/
2008-04-04 Pedro Alves <pedro@codesourcery.com>
* gdb.mi/mi-disassemble.exp, gdb.mi/mi-stack.exp,
gdb.mi/mi-syn-frame.exp, gdb.mi/mi-var-block.exp,
gdb.mi/mi-var-cmd.exp, gdb.mi/mi-var-display.exp,
gdb.mi/mi2-disassemble.exp, gdb.mi/mi2-stack.exp,
gdb.mi/mi2-syn-frame.exp, gdb.mi/mi2-var-block.exp,
gdb.mi/mi2-var-cmd.exp, gdb.mi/mi2-var-display.exp: Update to not
expect an mi error duplicated in stderr.
2008-04-04 21:59:25 +00:00
Vladimir Prus
8e8901c5c2
Implement -thread-info.
...
* gdbthread.h (print_thread_info): Declare.
* thread.c (print_thread_info): New, extracted
from info_threads_command and adjusted to
work for CLI and MI.
(info_threads_command): Use print_thread_info.
* Makefile.in: Update dependencies.
* mi/mi-cmds.c (mi_cmds): Specify a handler
for -thread-info.
* mi/mi-cmds.h (mi_cmd_thread_info): Declare.
* mi/mi-main.c (mi_cmd_thread_info): New.
(mi_cmd_list_features): Include 'thread-info'.
2008-03-15 13:53:25 +00:00
Daniel Jacobowitz
9b254dd1ce
Updated copyright notices for most files.
2008-01-01 22:53:26 +00:00
Daniel Jacobowitz
a6b151f187
* remote.c (remote_cmdlist): New variable.
...
(PACKET_vFile_open, PACKET_vFile_pread, PACKET_vFile_pwrite)
(PACKET_vFile_close, PACKET_vFile_unlink): New constants.
(remote_buffer_add_string, remote_buffer_add_bytes)
(remote_buffer_add_int, remote_hostio_parse_result)
(remote_hostio_send_command, remote_hostio_open, remote_hostio_pwrite)
(remote_hostio_pread, remote_hostio_close, remote_hostio_unlink)
(remote_fileio_errno_to_host, remote_hostio_error, fclose_cleanup)
(remote_hostio_close_cleanup, remote_file_put, remote_file_get)
(remote_file_delete, remote_put_command, remote_get_command)
(remote_delete_command, remote_command): New functions.
(_initialize_remote): Register new packets and commands.
* Makefile.in (gdb_fileio_h): New variable.
(remote.o): Update.
(SUBDIR_MI_OBS): Add mi-cmd-target.o.
(SUBDIR_MI_SRCS): Add mi/mi-cmd-target.c.
(mi-cmd-target.o): New rule.
* mi/mi-cmd-target.c: New file.
* mi/mi-cmds.c (mi_cmds): Add target-file-delete, target-file-get,
and target-file-put.
* mi/mi-cmds.h (mi_cmd_target_file_get, mi_cmd_target_file_put)
(mi_cmd_target_file_delete): Declare.
* remote.h (remote_file_put, remote_file_get, remote_file_delete):
Declare.
* NEWS: Describe new file transfer support.
* gdb.texinfo (Debugging Programs with Multiple Processes): Correct
formatting.
(Remote Debugging): Add File Transfer section.
(Remote Configuration): Document Host I/O packets.
(GDB/MI): Add GDB/MI File Transfer Commands section.
(Remote Protocol): Add Host I/O Packets section.
(Packets): Add vFile.
* Makefile.in (OBS): Add hostio.o.
(hostio.o): New rule.
* server.h (handle_vFile): Declare.
* hostio.c: New file.
* server.c (handle_v_requests): Take packet_len and new_packet_len
for binary packets. Call handle_vFile.
(main): Update call to handle_v_requests.
* gdb.server/file-transfer.exp, gdb.server/transfer.txt,
gdb.mi/mi-file-transfer.exp: New.
2007-11-30 21:50:19 +00:00
Vladimir Prus
084344da42
* mi/mi-cmds.c (mi_cmds): Register -list-features.
...
* mi/mi-cmds.h (mi_cmd_list_features): New.
* mi/mi-main.c (mi_cmd_list_features): New.
2007-09-16 14:59:31 +00:00
Vladimir Prus
02142340a0
Implement -var-info-path-expression.
...
* mi/mi-cmds.h (mi_cmd_var_info_path_expression):
Declare.
* mi/mi-cmds.c (mi_cmds): Register var-info-path-expression.
* mi/mi-cmd-var.c (mi_cmd_var_info_path_expression): New.
* varobj.c (struct varobj): New field 'path_expr'.
(c_path_expr_of_child, cplus_path_expr_of_child)
(java_path_expr_of_child): New.
(struct language_specific): New field path_expr_of_child.
(varobj_create): Initialize the path_expr field.
(varobj_get_path_expr): New.
(new_variable): Initialize the path_expr field.
(free_variable): Free the path_expr field.
(adjust_value_for_children_access): New parameter
WAS_TYPE.
(c_number_of_children): Adjust.
(c_describe_child): New parameter CFULL_EXPRESSION.
Compute full expression.
(c_value_of_child, c_type_of_child): Adjust.
(cplus_number_of_children): Adjust.
(cplus_describe_child): New parameter CFULL_EXPRESSION.
Compute full expression.
(cplus_name_of_child, cplus_value_of_child)
(cplus_type_of_child): Adjust.
* varobj.h (varobj_get_path_expr): Declare.
2007-08-31 18:52:05 +00:00
Joel Brobecker
a9762ec78a
Switch the license of all .c files to GPLv3.
...
Switch the license of all .h files to GPLv3.
Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
Vladimir Prus
25d5ea921b
* varobj.h (varobj_set_frozen): New
...
(varobj_get_frozen): New.
(varobj_update): New parameter explicit.
* varobj.c (struct varobj): New fields frozen
and not_fetched.
(varobj_set_frozen, varobj_get_frozen): New.
(install_new_value): Don't fetch values for
frozen variable object, or children thereof. Allow
a frozen variable object to have non-fetched value.
(varobj_update): Allow updating child variables.
Don't traverse frozen children.
(new_variable): Initialize the frozen field.
(c_value_of_variable): Return NULL for frozen
variable without any value yet.
* mi/mi-cmd-var.c (varobj_update_one): New parameter
'explicit'.
(mi_cmd_var_create): Output the 'frozen' field,
as soon as testsuite is adjusted to expect that field.
(mi_cmd_var_set_frozen): New.
(mi_cmd_var_update): Pass the 'explicit' parameter to
varobj_update_one.
* mi/mi-cmds.c (mi_cmds): Register '-var-set-frozen'.
* mi/mi-cmds.h (mi_cmd_var_set_frozen): Declare.
2007-04-14 09:51:30 +00:00
Nick Roberts
d8c83789e9
* mi/mi-main.c: Include <sys/resource.h> if present.
...
(rusage): Declare if HAVE_GETRUSAGE.
(current_command_ts, do_timings): New static variables.
(timestamp, print_diff_now, print_diff, timeval_diff):
New static timing functions.
(mi_cmd_enable_timings): New function for new MI command.
(captured_mi_execute_command, mi_execute_async_cli_command):
Call timing functions.
* mi/mi-cmds.c (mi_cmds): Add entry for new MI command
-enable-timings.
* mi/mi-cmds.h (mi_cmd_enable_timings): New extern.
* mi/mi-parse.h: (mi_timestamp): New structure.
(mi_parse): Add mi_timestamp* member.
2007-02-02 23:01:27 +00:00
Daniel Jacobowitz
6aba47ca06
Copyright updates for 2007.
2007-01-09 17:59:20 +00:00
Eli Zaretskii
1caae1650b
* mi/mi-symbol-cmds.c:
...
* mi/mi-parse.h:
* mi/mi-parse.c:
* mi/mi-out.h:
* mi/mi-out.c:
* mi/mi-main.h:
* mi/mi-main.c:
* mi/mi-interp.c:
* mi/mi-getopt.h:
* mi/mi-getopt.c:
* mi/mi-console.h:
* mi/mi-console.c:
* mi/mi-common.h:
* mi/mi-common.c:
* mi/mi-cmds.h:
* mi/mi-cmds.c:
* mi/mi-cmd-var.c:
* mi/mi-cmd-stack.c:
* mi/mi-cmd-file.c:
* mi/mi-cmd-env.c:
* mi/mi-cmd-disas.c:
* mi/mi-cmd-break.c: Add (C) after Copyright. Update the FSF
address.
2005-12-23 18:57:46 +00:00
Daniel Jacobowitz
1ecb4ee030
2005-07-15 Nick Roberts <nickrob@snap.net.nz>
...
Daniel Jacobowitz <dan@codesourcery.com>
* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values): New
declarations.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Use string
constants instead of literals for MI command options.
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values, mi_all_values):
New variables.
(mi_parse_values_option, mi_print_value_p): New functions.
(mi_cmd_var_list_children): Use mi_parse_values_option and
mi_print_value_p.
(mi_cmd_var_update): Support a PRINT_VALUES option. Update calls
to varobj_update_one.
(varobj_update_one): Take a print_values argument. Call
mi_print_value_p.
* varobj.c (varobj_get_gdb_type): New function.
* varobj.h (varobj_get_gdb_type): New prototype.
2005-07-15 04:12:19 +00:00
Bob Rossi
3cb3b8dfd1
Index: gdb/ChangeLog
...
+2005-07-06 Bob Rossi <bob@brasko.net>
+
+ * fork-child.c (fork-inferior): Use accessor function for
+ inferior_io_terminal.
+ * infcmd.c (inferior_io_terminal): Make static.
+ (set_inferior_io_terminal): New function.
+ (get_inferior_io_terminal): Ditto.
+ (tty_command): Use accessor function.
+ (_initialize_infcmd): Add inferior_tty setshow variable.
+ (_initialize_infcmd): Remove tty command.
+ (_initialize_infcmd): Add a tty command that is an alias.
+ * inferior.h (set_inferior_io_terminal): New prototype.
+ (get_inferior_io_terminal): Ditto.
+ (new_tty_prefork): Add const qualifier to parameter.
+ * inflow.c (inferior_thisrun_terminal): Add const qualifier.
+ (new_tty_prefork): Add const qualifier to parameter.
+ * nto-procfs (procfs_create_inferior): Use accessor function.
+ (procfs_create_inferior): Add const qualifier to locals.
+ * win32-nat.c (child_create_inferior): Ditto.
+ * mi/mi-cmd-env.c (mi_cmd_inferior_tty_set): New function.
+ (mi_cmd_inferior_tty_set): Ditto.
+ * mi/mi-cmds.c (mi_cmds): Add inferior-tty-set and inferior-tty-show
+ * mi/mi-cmds.h (mi_cmd_inferior_tty_set): Add prototype.
+ (mi_cmd_inferior_tty_show): Ditto.
Index: gdb/doc/ChangeLog
+2005-07-06 Bob Rossi <bob@brasko.net>
+
+ * gdb.texinfo (GDB/MI Miscellaneous Commands): Add -inferior-tty-set
+ and -inferior-tty-show.
+ (Input/Output): Document "set/show inferior-tty" and tty alias.
Index: gdb/testsuite/ChangeLog
+2005-07-06 Bob Rossi <bob@brasko.net>
+
+ * gdb.mi/mi-basics.exp (test_setshow_inferior_tty): Test MI tty
+ command.
+ (Copyright): Update copyright.
2005-07-06 14:54:37 +00:00
Nick Roberts
3ba51a77e4
(mi_cmd_stack_info_frame): New declaration.
2005-06-19 03:12:15 +00:00
Andrew Cagney
ce43223b29
2005-01-13 Andrew Cagney <cagney@gnu.org>
...
* breakpoint.c (gdb_breakpoint_query): Update, use
catch_exceptions_with_msg.
(do_captured_breakpoint): Add uiout parameter.
(gdb_breakpoint): Update, use catch_exceptions_with_msg.
* mi/mi-main.c (mi_cmd_thread_select): Pass mi_error_message to
gdb_thread_select. Return MI_CMD_ERROR instead of
MI_CMD_CAUGHT_ERROR.
(mi_cmd_thread_list_ids): Ditto for gdb_list_thread_ids.
(enum captured_mi_execute_command_actions): Delete
EXECUTE_COMMAND_DISPLAY_ERROR.
(captured_mi_execute_command): Delete code handling
MI_CMD_CAUGHT_ERROR.
(mi_execute_command): Don't check for
EXECUTE_COMMAND_DISPLAY_ERROR.
* mi/mi-cmd-break.c (breakpoint_notify): Update call to
gdb_breakpoint_query.
(mi_cmd_break_insert): Pass mi_error_message to gdb_breakpoint.
* mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_CAUGHT_ERROR.
* gdb.h (gdb_thread_select, gdb_list_thread_ids)
(gdb_breakpoint, gdb_breakpoint_query): Add error_message
parameter.
* thread.c (thread_command): Update call.
(gdb_thread_select, gdb_list_thread_ids): Update, call
catch_exceptions_with_msg.
2005-01-13 22:08:27 +00:00
Bob Rossi
57c22c6ce1
Add the -file-list-exec-source-files command to MI.
2004-06-10 20:05:45 +00:00
Andrew Cagney
6085fc2d26
2004-06-01 Andrew Cagney <cagney@gnu.org>
...
* mi/mi-cmds.h (mi_error_last_message): Delete declaration.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Call
error_last_message instead of mi_error_last_message.
* mi/mi-main.c (mi_error_last_message): Delete function.
2004-06-01 13:15:02 +00:00
Nick Roberts
ad27498312
Update copyright year.
2004-01-24 04:22:51 +00:00
Nick Roberts
90e645cd1b
(enum print_values): Add definition.
2004-01-20 00:45:29 +00:00
Andrew Cagney
b2af646b30
2003-08-04 Andrew Cagney <cagney@redhat.com>
...
* mi-cmds.h (struct mi_cli): Define.
(struct mi_cmd): Change type of "cli" to "struct mi_cli".
* mi-cmds.c (mi_cmds): Update table.
* mi-parse.c (mi_parse): Update.
* mi-main.c (mi_execute_cli_command): Add "args_p" parameter, make
others constant.
(mi_cmd_execute): Update call.
(captured_mi_execute_command): Ditto.
2003-08-04 23:18:50 +00:00
Joel Brobecker
0d18235fb6
From Thierry Schneider <tpschneider1@yahoo.com>:
...
* mi-cmds.h (mi_cmd_symbol_list_lines): Add declaration.
* mi-cmds.c (mi_cmds): Add entry for new MI command.
* mi-cmd-symbol.c (mi_cmd_symbol_list_lines): New source file
for all symbol-related commands.
2003-05-04 03:50:13 +00:00
Bob Rossi
1abaf70c94
Adding -file-list-exec-source-file command to MI
2003-04-02 22:10:35 +00:00
Andrew Cagney
4389a95abb
2003-02-05 Jim Ingham <jingham@apple.com>
...
Keith Seitz <keiths@redhat.com>
Elena Zannoni <ezannoni@redhat.com>
Andrew Cagney <ac131313@redhat.com>
* Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o".
(SUBDIR_CLI_SRCS): Add "cli/cli-interp.c".
(SUBDIR_MI_OBS): Add "mi-interp.o".
(SUBDIR_MI_SRCS): Add "mi/mi-interp.c".
(SFILES): Add "interps.c".
(COMMON_OBS): Add "interps.o".
(interps_h, mi_main_h): Define.
(interps.o, cli-interp.o, mi-interp.o): Add dependencies.
(mi-main.o, main.o, event-top.o): Update dependencies.
* cli/cli-interp.c: New file.
* interps.h, interps.c: New files.
* top.c: (gdb_init): Don't install the default interpreter, handed
by captured_main.
* main.c: Include "interps.h".
(interpreter_p): Note that it should malloc'ed.
(captured_command_loop): Call current_interp_command_loop.
(captured_main): Initialize interpreter_p to INTERP_CONSOLE. Use
xfree and xstrdup when updating interpreter_p. Install the
default interpreter. Add hack to stop mi1's copyright notice
being encoded.
* event-top.h (gdb_setup_readline): Declare.
(gdb_disable_readline): Declare.
* event-top.c: Include "interps.h".
(display_gdb_prompt): Call current_interp_display_prompt_p.
(gdb_setup_readline): Initialize gdb_stdout, gdb_stderr,
gdb_stdlog, and gdb_stdtarg.
(_initialize_event_loop): Don't call gdb_setup_readline.
* cli-out.c (cli_out_set_stream): New function.
* cli-out.h (cli_out_set_stream): Declare.
2003-02-06 01:19:12 +00:00
Jeff Johnston
068890be59
2002-12-13 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-12-13 17:00:22 +00:00
Kevin Buettner
b6ba6518e9
Update/correct copyright notices.
2001-03-06 08:22:02 +00:00
Andrew Cagney
10adc9b50e
Rename mi/ChangeLog-mi -> mi/ChangeLog
2000-05-16 05:07:53 +00:00
Elena Zannoni
24e8cecf49
2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
...
* 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 22:57:52 +00:00