Commit Graph

6 Commits

Author SHA1 Message Date
Pedro Alves 7ee70bf518 record-full.c: Remove always true checks.
The "set record full insn-number-max" command is an uinteger command.
If the variable that holds the maximum count of logged instructions is
unsigned, it's better if the variable that holds the current number of
logged instructions is also unsigned.  Looking over the code, there's
no case the variable could end up negative.

Then, tests like "if (record_full_insn_max_num)" are always true,
because being a uinteger command means that "set record full
insn-number-max 0" is actually mapped to UINT_MAX internally.  IOW,
the command's variable is never 0.  The checks might make some sense
if 0 wasn't mapped to UINT_MAX, and 0 meant unlimited, but, that's not
how things work.

Tested on x86_64 Fedora 17.

gdb/
2013-03-26  Pedro Alves  <palves@redhat.com>

	* record-full.c (record_full_insn_num): Make it unsigned.
	(record_full_check_insn_num, record_full_message)
	(record_full_registers_change, record_full_xfer_partial): Remove
	record_full_insn_max_num check (it's always != 0).
	(record_full_info, record_full_restore): Use %u as format string.
	(): Use %u as format string.
	(set_record_full_insn_max_num): Remove record_full_insn_max_num
	check (it's always != 0).
2013-03-26 20:01:03 +00:00
Jan Kratochvil 460014f572 gdb/
Code cleanup.
	* bfd-target.c (target_bfd_xclose): Remove parameter quitting.
	* bsd-kvm.c (bsd_kvm_close): Likewise.
	* bsd-uthread.c (bsd_uthread_close): Likewise.
	* corelow.c (core_close): Likewise.
	(core_close_cleanup): Remove parameter quitting from a caller.
	* event-top.c (async_disconnect): Likewise.
	* exec.c (exec_close_1): Remove parameter quitting.
	* go32-nat.c (go32_close): Likewise.
	* linux-nat.c (linux_nat_close): Remove parameter quitting.  Remove
	parameter quitting from a caller.
	* mips-linux-nat.c (super_close): Remove parameter quitting from the
	variable.
	(mips_linux_close): Remove parameter quitting.  Remove parameter
	quitting from a caller.
	* monitor.c (monitor_close): Remove parameter quitting.
	* monitor.h (monitor_close): Likewise.
	* record-btrace.c (record_btrace_close): Likewise.
	* record-full.c (record_full_close): Likewise.
	* remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove
	it also from fprintf_unfiltered.
	* remote-mips.c (mips_close): Remove parameter quitting.
	(mips_detach): Remove parameter quitting from a caller.
	* remote-sim.c (gdbsim_close): Remove parameter quitting.
	(gdbsim_close): Remove duplicate function comment.  Remove parameter
	quitting and remove it also from printf_filtered.
	* remote.c (remote_close): Remove parameter quitting.
	* solib-svr4.c (enable_break): Remove parameter quitting from a caller.
	* target.c (update_current_target): Remove parameter int from to_close
	de_fault.
	(push_target, unpush_target, pop_target): Remove parameter quitting from
	a caller.
	(pop_all_targets_above, pop_all_targets): Remove parameter quitting.
	Remove parameter quitting from a caller.
	(target_preopen): Remove parameter quitting from a caller.
	(target_close): Remove parameter quitting.  Remove parameter quitting
	from a caller two times.  Remove parameter quitting also from
	fprintf_unfiltered.
	* target.h (struct target_ops): Remove parameter quitting and as int
	from fields to_xclose and to_close.
	(extern struct target_ops current_target):
	(target_close, pop_all_targets): Remove parameter quitting.  Update the
	comment.
	(pop_all_targets_above): Remove parameter quitting.
	* top.c (quit_target): Remove parameter quitting from a caller.
	* tracepoint.c (tfile_close): Remove parameter quitting.
	* windows-nat.c (windows_close): Remove parameter quitting.
2013-03-20 15:46:24 +00:00
Markus Metzger 7c1687a966 Provide default target methods for record targets that are likely to be shared
between different record targets.

gdb/
	* record.h (record_disconnect): New.
	(record_detach): New.
	(record_mourn_inferior): New.
	(record_kill): New.
	* record-full.c (record_disconnect, record_detach,
	record_mourn_inferior, record_kill): Move to...
	* record.c: ...here.
	(DEBUG): New.
	(record_stop): New.
	(record_unpush): New.
	(cmd_record_stop): Call record_stop. Replace unpush_target
	call with record_unpush call.
	(record_disconnect, record_detach): Assert that the target
	is of record stratum. Call record_unpush, record_stop, and
	DEBUG.
	(record_mourn_inferior, record_kill): Assert that the target
	is of record stratum. Call record_unpush and DEBUG.
2013-03-11 08:47:10 +00:00
Markus Metzger 25ea693b87 Rename record_ prefixes in record-full.h into record_full_.
gdb/
	* record-full.h, record-full.c (record_memory_query): Rename
	to ...
	(record_full_memory_query): ...this. Update all users.
	(record_arch_list_add_reg): Rename to ...
	(record_full_arch_list_add_reg): ...this. Update all users.
	(record_arch_list_add_mem): Rename to ...
	(record_full_arch_list_add_mem): ...this. Update all users.
	(record_arch_list_add_end): Rename to ...
	(record_full_arch_list_add_end): ...this. Update all users.
	(record_gdb_operation_disable_set): Rename to ...
	(record_full_gdb_operation_disable_set): ...this.
	Update all users.
2013-03-11 08:45:54 +00:00
Markus Metzger 88d1aa9d26 Rename record_ prefixes in record-full.c into record_full_.
gdb/
	* record-full.c (DEFAULT_RECORD_INSN_MAX_NUM): Renamed to ...
	(DEFAULT_RECORD_FULL_INSN_MAX_NUM): ... this. Updated all users.
	(RECORD_IS_REPLAY): Renamed to ...
	(RECORD_FULL_IS_REPLAY): ... this. Updated all users.
	(RECORD_FILE_MAGIC): Renamed to ...
	(RECORD_FULL_FILE_MAGIC): ... this. Updated all users.
	(record_mem_entry): Renamed to ...
	(record_full_mem_entry): ... this. Updated all users.
	(record_reg_entry): Renamed to ...
	(record_full_reg_entry): ... this. Updated all users.
	(record_end_entry): Renamed to ...
	(record_full_end_entry): ... this. Updated all users.
	(record_type) <record_end, record_reg, record_mem>: Renamed
	to ...
	(record_full_type) <record_full_end, record_full_reg,
	record_full_mem>: ... this. Updated all users.
	(record_entry): Renamed to ...
	(record_full_entry): ... this. Updated all users.
	(record_core_buf_entry): Renamed to ...
	(record_full_core_buf_entry): ... this. Updated all users.
	(record_core_regbuf): Renamed to ...
	(record_full_core_regbuf): ... this. Updated all users.
	(record_core_start): Renamed to ...
	(record_full_core_start): ... this. Updated all users.
	(record_core_end): Renamed to ...
	(record_full_core_end): ... this. Updated all users.
	(record_core_buf_list): Renamed to ...
	(record_full_core_buf_list): ... this. Updated all users.
	(record_first): Renamed to ...
	(record_full_first): ... this. Updated all users.
	(record_list): Renamed to ...
	(record_full_list): ... this. Updated all users.
	(record_arch_list_head): Renamed to ...
	(record_full_arch_list_head): ... this. Updated all users.
	(record_arch_list_tail): Renamed to ...
	(record_full_arch_list_tail): ... this. Updated all users.
	(record_stop_at_limit): Renamed to ...
	(record_full_stop_at_limit): ... this. Updated all users.
	(record_insn_max_num): Renamed to ...
	(record_full_insn_max_num): ... this. Updated all users.
	(record_insn_num): Renamed to ...
	(record_full_insn_num): ... this. Updated all users.
	(record_insn_count): Renamed to ...
	(record_full_insn_count): ... this. Updated all users.
	(record_ops): Renamed to ...
	(record_full_ops): ... this. Updated all users.
	(record_core_ops): Renamed to ...
	(record_full_core_ops): ... this. Updated all users.
	(set_record_cmdlist): Renamed to ...
	(set_record_full_cmdlist): ... this. Updated all users.
	(show_record_cmdlist): Renamed to ...
	(show_record_full_cmdlist): ... this. Updated all users.
	(record_cmdlist): Renamed to ...
	(record_full_cmdlist): ... this. Updated all users.
	(record_beneath_to_resume_ops): Renamed to ...
	(record_full_beneath_to_resume_ops): ... this. Updated all users.
	(record_beneath_to_resume): Renamed to ...
	(record_full_beneath_to_resume): ... this. Updated all users.
	(record_beneath_to_wait_ops): Renamed to ...
	(record_full_beneath_to_wait_ops): ... this. Updated all users.
	(record_beneath_to_wait): Renamed to ...
	(record_full_beneath_to_wait): ... this. Updated all users.
	(record_beneath_to_store_registers_ops): Renamed to ...
	(record_full_beneath_to_store_registers_ops): ... this.
	Updated all users.
	(record_beneath_to_store_registers): Renamed to ...
	(record_full_beneath_to_store_registers): ... this.
	Updated all users.
	(record_beneath_to_xfer_partial_ops): Renamed to ...
	(record_full_beneath_to_xfer_partial_ops): ... this.
	Updated all users.
	(record_beneath_to_xfer_partial): Renamed to ...
	(record_full_beneath_to_xfer_partial): ... this.
	Updated all users.
	(record_beneath_to_insert_breakpoint): Renamed to ...
	(record_full_beneath_to_insert_breakpoint): ... this.
	Updated all users.
	(record_beneath_to_stopped_by_watchpoint): Renamed to ...
	(record_full_beneath_to_stopped_by_watchpoint): ... this.
	Updated all users.
	(record_beneath_to_stopped_data_address): Renamed to ...
	(record_full_beneath_to_stopped_data_address): ... this.
	Updated all users.
	(record_beneath_to_async): Renamed to ...
	(record_full_beneath_to_async): ... this. Updated all users.
	(record_goto_insn): Renamed to ...
	(record_full_goto_insn): ... this. Updated all users.
	(record_save): Renamed to ...
	(record_full_save): ... this. Updated all users.
	(record_reg_alloc): Renamed to ...
	(record_full_reg_alloc): ... this. Updated all users.
	(record_reg_release): Renamed to ...
	(record_full_reg_release): ... this. Updated all users.
	(record_mem_alloc): Renamed to ...
	(record_full_mem_alloc): ... this. Updated all users.
	(record_mem_release): Renamed to ...
	(record_full_mem_release): ... this. Updated all users.
	(record_end_alloc): Renamed to ...
	(record_full_end_alloc): ... this. Updated all users.
	(record_end_release): Renamed to ...
	(record_full_end_release): ... this. Updated all users.
	(record_entry_release): Renamed to ...
	(record_full_entry_release): ... this. Updated all users.
	(record_list_release): Renamed to ...
	(record_full_list_release): ... this. Updated all users.
	(record_list_release_following): Renamed to ...
	(record_full_list_release_following): ... this.
	Updated all users.
	(record_list_release_first): Renamed to ...
	(record_full_list_release_first): ... this. Updated all users.
	(record_arch_list_add): Renamed to ...
	(record_full_arch_list_add): ... this. Updated all users.
	(record_get_loc): Renamed to ...
	(record_full_get_loc): ... this. Updated all users.
	(record_check_insn_num): Renamed to ...
	(record_full_check_insn_num): ... this. Updated all users.
	(record_arch_list_cleanups): Renamed to ...
	(record_full_arch_list_cleanups): ... this. Updated all users.
	(record_message): Renamed to ...
	(record_full_message): ... this. Updated all users.
	(record_message_wrapper): Renamed to ...
	(record_full_message_wrapper): ... this. Updated all users.
	(record_message_wrapper_safe): Renamed to ...
	(record_full_message_wrapper_safe): ... this. Updated all users.
	(record_gdb_operation_disable): Renamed to ...
	(record_full_gdb_operation_disable): ... this. Updated all users.
	(record_hw_watchpoint): Renamed to ...
	(record_full_hw_watchpoint): ... this. Updated all users.
	(record_exec_insn): Renamed to ...
	(record_full_exec_insn): ... this. Updated all users.
	(record_restore): Renamed to ...
	(record_full_restore): ... this. Updated all users.
	(record_async_inferior_event_token): Renamed to ...
	(record_full_async_inferior_event_token): ... this.
	Updated all users.
	(record_async_inferior_event_handler): Renamed to ...
	(record_full_async_inferior_event_handler): ... this.
	Updated all users.
	(record_core_open_1): Renamed to ...
	(record_full_core_open_1): ... this. Updated all users.
	(record_open_1): Renamed to ...
	(record_full_open_1): ... this. Updated all users.
	(record_open): Renamed to ...
	(record_full_open): ... this. Updated all users.
	(record_close): Renamed to ...
	(record_full_close): ... this. Updated all users.
	(record_resume_step): Renamed to ...
	(record_full_resume_step): ... this. Updated all users.
	(record_resumed): Renamed to ...
	(record_full_resumed): ... this. Updated all users.
	(record_execution_dir): Renamed to ...
	(record_full_execution_dir): ... this. Updated all users.
	(record_resume): Renamed to ...
	(record_full_resume): ... this. Updated all users.
	(record_get_sig): Renamed to ...
	(record_full_get_sig): ... this. Updated all users.
	(record_sig_handler): Renamed to ...
	(record_full_sig_handler): ... this. Updated all users.
	(record_wait_cleanups): Renamed to ...
	(record_full_wait_cleanups): ... this. Updated all users.
	(record_wait_1): Renamed to ...
	(record_full_wait_1): ... this. Updated all users.
	(record_wait): Renamed to ...
	(record_full_wait): ... this. Updated all users.
	(record_stopped_by_watchpoint): Renamed to ...
	(record_full_stopped_by_watchpoint): ... this. Updated all users.
	(record_disconnect): Renamed to ...
	(record_full_disconnect): ... this. Updated all users.
	(record_detach): Renamed to ...
	(record_full_detach): ... this. Updated all users.
	(record_mourn_inferior): Renamed to ...
	(record_full_mourn_inferior): ... this. Updated all users.
	(record_kill): Renamed to ...
	(record_full_kill): ... this. Updated all users.
	(record_stopped_data_address): Renamed to ...
	(record_full_stopped_data_address): ... this. Updated all users.
	(record_registers_change): Renamed to ...
	(record_full_registers_change): ... this. Updated all users.
	(record_store_registers): Renamed to ...
	(record_full_store_registers): ... this. Updated all users.
	(record_xfer_partial): Renamed to ...
	(record_full_xfer_partial): ... this. Updated all users.
	(record_breakpoint): Renamed to ...
	(record_full_breakpoint): ... this. Updated all users.
	(record_breakpoint_p): Renamed to ...
	(record_full_breakpoint_p): ... this. Updated all users.
	(record_breakpoints): Renamed to ...
	(record_full_breakpoints): ... this. Updated all users.
	(record_sync_record_breakpoints): Renamed to ...
	(record_full_sync_record_breakpoints): ... this.
	Updated all users.
	(record_init_record_breakpoints): Renamed to ...
	(record_full_init_record_breakpoints): ... this.
	Updated all users.
	(record_insert_breakpoint): Renamed to ...
	(record_full_insert_breakpoint): ... this. Updated all users.
	(record_remove_breakpoint): Renamed to ...
	(record_full_remove_breakpoint): ... this. Updated all users.
	(record_can_execute_reverse): Renamed to ...
	(record_full_can_execute_reverse): ... this. Updated all users.
	(record_get_bookmark): Renamed to ...
	(record_full_get_bookmark): ... this. Updated all users.
	(record_goto_bookmark): Renamed to ...
	(record_full_goto_bookmark): ... this. Updated all users.
	(record_async): Renamed to ...
	(record_full_async): ... this. Updated all users.
	(record_can_async_p): Renamed to ...
	(record_full_can_async_p): ... this. Updated all users.
	(record_is_async_p): Renamed to ...
	(record_full_is_async_p): ... this. Updated all users.
	(record_execution_direction): Renamed to ...
	(record_full_execution_direction): ... this. Updated all users.
	(record_info): Renamed to ...
	(record_full_info): ... this. Updated all users.
	(record_delete): Renamed to ...
	(record_full_delete): ... this. Updated all users.
	(record_is_replaying): Renamed to ...
	(record_full_is_replaying): ... this. Updated all users.
	(record_goto_entry): Renamed to ...
	(record_full_goto_entry): ... this. Updated all users.
	(record_goto_begin): Renamed to ...
	(record_full_goto_begin): ... this. Updated all users.
	(record_goto_end): Renamed to ...
	(record_full_goto_end): ... this. Updated all users.
	(record_goto): Renamed to ...
	(record_full_goto): ... this. Updated all users.
	(init_record_ops): Renamed to ...
	(init_record_full_ops): ... this. Updated all users.
	(record_core_resume): Renamed to ...
	(record_full_core_resume): ... this. Updated all users.
	(record_core_kill): Renamed to ...
	(record_full_core_kill): ... this. Updated all users.
	(record_core_fetch_registers): Renamed to ...
	(record_full_core_fetch_registers): ... this. Updated all users.
	(record_core_prepare_to_store): Renamed to ...
	(record_full_core_prepare_to_store): ... this. Updated all users.
	(record_core_store_registers): Renamed to ...
	(record_full_core_store_registers): ... this. Updated all users.
	(record_core_xfer_partial): Renamed to ...
	(record_full_core_xfer_partial): ... this. Updated all users.
	(record_core_insert_breakpoint): Renamed to ...
	(record_full_core_insert_breakpoint): ... this. Updated all users.
	(record_core_remove_breakpoint): Renamed to ...
	(record_full_core_remove_breakpoint): ... this. Updated all users.
	(record_core_has_execution): Renamed to ...
	(record_full_core_has_execution): ... this. Updated all users.
	(init_record_core_ops): Renamed to ...
	(init_record_full_core_ops): ... this. Updated all users.
	(cmd_record_restore): Renamed to ...
	(cmd_record_full_restore): ... this. Updated all users.
	(record_save_cleanups): Renamed to ...
	(record_full_save_cleanups): ... this. Updated all users.
	(cmd_record_start): Renamed to ...
	(cmd_record_full_start): ... this. Updated all users.
	(set_record_insn_max_num): Renamed to ...
	(set_record_full_insn_max_num): ... this. Updated all users.
	(set_record_command): Renamed to ...
	(set_record_full_command): ... this. Updated all users.
	(show_record_command): Renamed to ...
	(show_record_full_command): ... this. Updated all users.
	(_initialize_record): Renamed to ...
	(_initialize_record_full): ... this. Updated all users.
2013-03-11 08:44:14 +00:00
Markus Metzger d02ed0bbfa Split record.h into record.h and record-full.h.
Split record.c into record.c and record-full.c.

The split leaves the command part in record.c and moves the target part into
record-full.c.

gdb/
	* record.h: Split into this and ...
	* record-full.h: ... this.
	* record.c: Split into this and ...
	* record-full.c: ... this.
	* target.h (target_ops): Add new fields to_info_record,
	to_save_record, to_delete_record, to_record_is_replaying,
	to_goto_record_begin, to_goto_record_end, to_goto_record.
	(target_info_record): New.
	(target_save_record): New.
	(target_supports_delete_record): New.
	(target_delete_record): New.
	(target_record_is_replaying): New.
	(target_goto_record_begin): New.
	(target_goto_record_end): New.
	(target_goto_record): New.
	* target.c (target_info_record): New.
	(target_save_record): New.
	(target_supports_delete_record): New.
	(target_delete_record): New.
	(target_record_is_replaying): New.
	(target_goto_record_begin): New.
	(target_goto_record_end): New.
	(target_goto_record): New.
	* record.h: Declare struct cmd_list_element.
	(record_cmdlist): New declaration.
	(set_record_cmdlist): New declaration.
	(show_record_cmdlist): New declaration.
	(info_record_cmdlist): New declaration.
	(cmd_record_goto): New declaration.
	* record.c: Remove unnecessary includes.
	Include inferior.h.
	(cmd_record_goto): Remove declaration.
	(record_cmdlist): Now extern. Initialize.
	(set_record_cmdlist): Now extern. Initialize.
	(show_record_cmdlist): Now extern. Initialize.
	(info_record_cmdlist): Now extern. Initialize.
	(find_record_target): New.
	(require_record_target): New.
	(cmd_record_start): Update.
	(cmd_record_delete): Remove target-specific code.
	Call target_delete_record.
	(cmd_record_stop): Unpush any record target.
	(set_record_insn_max_num): Move to record-full.c
	(set_record_command): Add comment.
	(show_record_command): Add comment.
	(info_record_command): Update comment.
	Remove target-specific code.
	Call the record target's to_info_record.
	(cmd_record_start): New.
	(cmd_record_goto): Now extern.
	Remove target-specific code.
	Call target_goto_begin,  target_goto_end, or target_goto.
	(_initialize_record): Move record target ops initialization to
	record-full.c.
	Change "record" command help text.
	Move "record restore", "record set", and "record show" commands to
	record-full.c.
	* Makefile.in (SFILES): Add record-full.c.
	(HFILES_NO_SRCDIR): Add record-full.h.
	(COMMON_OBS): Add record-full.o.
	* amd64-linux-tdep.c: Include record-full.h instead of record.h.
	* arm-tdep.c: Include record-full.h.
	* i386-linux-tdep.c: Include record-full.h instead of record.h.
	* i386-tdep.c: Include record-full.h.
	* infrun.c: Include record-full.h.
	* linux-record.c: Include record-full.h.
	* moxie-tdep.c: Include record-full.h.
	* record-full.c: Include record-full.h.
	Change module comment.
	(set_record_full_cmdlist): New.
	(show_record_full_cmdlist): New.
	(record_full_cmdlist): New.
	(record_goto_insn): New declaration.
	(record_save): New declaration.
	(record_check_insn_num): Change query string.
	(record_info): New.
	(record_delete): New.
	(record_is_replaying): New.
	(record_goto_entry): New.
	(record_goto_begin): New.
	(record_goto_end): New.
	(record_goto): New.
	(init_record_ops): Update.
	(init_record_core_ops): Update.
	(cmd_record_save): Rename to record_save. Remove target and arg checks.
	(cmd_record_start): New.
	(set_record_insn_max_num): Moved from record.c
	(set_record_full_command): New.
	(show_record_full_command): New.
	(_initialize_record_full): New.
2013-03-11 08:42:55 +00:00