binutils-gdb/gdb/common
Stan Shebs d3ce09f5bf Add target-side support for dynamic printf.
* NEWS: Mention the additional style.
	* breakpoint.h (struct bp_target_info): New fields tcommands, persist.
	(struct bp_location): New field cmd_bytecode.
	* breakpoint.c: Include format.h.
	(disconnected_dprintf): New global.
	(parse_cmd_to_aexpr): New function.
	(build_target_command_list): New function.
	(insert_bp_location): Call it.
	(remove_breakpoints_pid): Skip dprintf breakpoints.
	(print_one_breakpoint_location): Ditto.
	(dprintf_style_agent): New global.
	(dprintf_style_enums): Add dprintf_style_agent.
	(update_dprintf_command_list): Add agent case.
	(agent_printf_command): New function.
	(_initialize_breakpoint): Add new commands.
	* common/ax.def (printf): New bytecode.
	* ax.h (ax_string): Declare.
	* ax-gdb.h (gen_printf): Declare.
	* ax-gdb.c: Include cli-utils.h, format.h.
	(gen_printf): New function.
	(maint_agent_print_command): New function.
	(_initialize_ax_gdb): Add maint agent-printf command.
	* ax-general.c (ax_string): New function.
	(ax_print): Add printf disassembly.
	* Makefile.in (SFILES): Add format.c
	(COMMON_OBS): Add format.o.
	* common/format.h: New file.
	* common/format.c: New file.
	* printcmd.c: Include format.h.
	(ui_printf): Call parse_format_string.
	* remote.c (remote_state): New field breakpoint_commands.
	(PACKET_BreakpointCommands): New enum.
	(remote_breakpoint_commands_feature): New function.
	(remote_protocol_features): Add new BreakpointCommands entry.
	(remote_can_run_breakpoint_commands): New function.
	(remote_add_target_side_commands): New function.
	(remote_insert_breakpoint): Call it.
	(remote_insert_hw_breakpoint): Ditto.
	(_initialize_remote): Add new packet configuration for
	target-side breakpoint commands.
	* target.h (struct target_ops): New field
	to_can_run_breakpoint_commands.
	(target_can_run_breakpoint_commands): New macro.
	* target.c (update_current_target): Handle
	to_can_run_breakpoint_commands.

	[gdbserver]
	* Makefile.in (WARN_CFLAGS_NO_FORMAT): Define.
	(ax.o): Add it to build rule.
	(ax-ipa.o): Ditto.
	(OBS): Add format.o.
	(IPA_OBS): Add format.o.
	* server.c (handle_query): Claim support for breakpoint commands.
	(process_point_options): Add command case.
	(process_serial_event): Leave running if there are printfs in
	effect.
	* mem-break.h (any_persistent_commands): Declare.
	(add_breakpoint_commands): Declare.
	(gdb_no_commands_at_breakpoint): Declare.
	(run_breakpoint_commands): Declare.
	* mem-break.c (struct point_command_list): New struct.
	(struct breakpoint): New field command_list.
	(any_persistent_commands): New function.
	(add_commands_to_breakpoint): New function.
	(add_breakpoint_commands): New function.
	(gdb_no_commands_at_breakpoint): New function.
	(run_breakpoint_commands): New function.
	* linux-low.c (linux_wait_1): Test for and run breakpoint commands
	locally.
	* ax.c: Include format.h.
	(ax_printf): New function.
	(gdb_eval_agent_expr): Add printf opcode.

	[doc]
	* gdb.texinfo (Dynamic Printf): Mention agent style and
	disconnected dprintf.
	(Maintenance Commands): Describe maint agent-printf.
	(General Query Packets): Mention BreakpointCommands feature.
	(Packets): Document commands extension to Z0 packet.
	* agentexpr.texi (Bytecode Descriptions): Document printf
	bytecode.

	[testsuite]
	* gdb.base/dprintf.exp: Add agent style tests.
2012-07-02 15:29:39 +00:00
..
agent.c gdb/ 2012-05-24 16:51:47 +00:00
agent.h gdb/ 2012-04-16 11:24:47 +00:00
ax.def Add target-side support for dynamic printf. 2012-07-02 15:29:39 +00:00
buffer.c gdb/ 2012-06-28 17:07:34 +00:00
buffer.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
common-utils.c Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
common-utils.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
format.c Add target-side support for dynamic printf. 2012-07-02 15:29:39 +00:00
format.h Add target-side support for dynamic printf. 2012-07-02 15:29:39 +00:00
gdb_assert.h 2012-01-11 Andreas Tobler <andreast@fgznet.ch> 2012-01-11 21:51:31 +00:00
gdb_dirent.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
gdb_locale.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
gdb_signals.h gdb/ 2012-05-24 16:39:15 +00:00
gdb_thread_db.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
i386-xstate.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
linux-osdata.c * osdata.c (info_osdata_command): Filter out "Title" columns 2012-06-28 23:44:26 +00:00
linux-osdata.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
linux-procfs.c gdb/ 2012-03-13 15:02:25 +00:00
linux-procfs.h gdb/ 2012-03-13 15:02:25 +00:00
linux-ptrace.c gdb/ 2012-03-13 15:02:25 +00:00
linux-ptrace.h gdb/ 2012-03-13 15:02:25 +00:00
ptid.c Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
ptid.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
signals.c gdb/ 2012-05-24 16:51:47 +00:00
vec.c gdb: 2012-04-19 05:58:52 +00:00
vec.h gdb: 2012-04-19 05:58:52 +00:00
xml-utils.c Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00
xml-utils.h Copyright year update in most files of the GDB Project. 2012-01-04 08:17:56 +00:00