| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* record.c (record_wait): Set pc if forward execute,
gdbarch_decr_pc_after_break is not 0 and this is not single
step in replay mode.
* linux-nat.c (my_waitpid_record): Add
gdbarch_decr_pc_after_break to pc if need.
|
|
|
|
|
|
|
|
| |
* record.c (record_wait): Set pc if forward execute,
gdbarch_decr_pc_after_break is not 0 and this is not single
step in replay mode.
* linux-nat.c (my_waitpid_record): Add
gdbarch_decr_pc_after_break to pc if need.
|
|
|
|
|
|
|
| |
* record.c (record_wait): Check breakpint before forward
execute in replay mode.
Check breakpoint use function "breakpoint_inserted_here_p"
in replay mode.
|
|
|
|
|
| |
* infrun.c (handle_inferior_event): Handle dynamic symbol
resolution in reverse.
|
|
|
|
|
| |
* infrun.c (adjust_pc_after_break): Do nothing if executing in
reverse.
|
|
|
|
| |
* gdb.texinfo: Add documentation for process record and replay.
|
|
|
|
|
| |
* infcmd.c (kill_if_already_running): Remove process record
warning code.
|
|
|
|
|
| |
* infrun.c (handle_inferior_event): Set "stop_pc" when
TARGET_WAITKIND_NO_HISTORY.
|
|
|
|
|
| |
* gdb.texinfo: Document the 'bc' and 'bs' (reverse) commands,
and the 'replaylog' annotation of the 'T' stop event message.
|
|
|
|
|
|
|
|
|
|
| |
* remote.c (remote_wait): Remove handling of "E6" no_history error.
2008-10-10 Michael Snyder <msnyder@vmware.com>
* remote.c (remote_wait): Recognize "replaylog" reply as part
of 'T' stop event (NO_HISTORY).
Declare "end of replay history" error reply as deprecated.
|
|
|
|
|
|
|
|
|
| |
Remove "to_support_record_wait".
* target.c (add_target): Remove "to_support_record_wait".
* target.h (target_ops): Ditto.
* linux-nat.c (linux_nat_add_target): Ditto.
* record.h (RECORD_TARGET_SUPPORT_RECORD_WAIT): This macro is removed.
|
|
|
|
|
|
|
|
|
| |
Change "record-auto-delete" to "record-stop-at-limit".
* record.c (record_insn_max_mode): Change to
"record_stop_at_limit".
(record_check_insn_num): Ditto.
(_initialize_record): Ditto.
|
|
|
|
|
| |
* reverse.c (exec_reverse_once): Eliminate fixed-size buffer,
use xstrprintf.
|
|
|
|
|
|
|
| |
* infcmd.c (finish_forward): New function, abstracted from
finish_command.
(finish_command): Abstract out finish_forward for symmetry.
* infrun.c (use_displaced_stepping): Add comment.
|
|
|
|
| |
* record.c (record_open): Reset after push_target.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* target.h (to_set_exec_direction, to_get_exec_direction): Remove.
(to_can_execute_reverse): New method.
(enum exec_direction_kind): Move to inferior.h.
* target.c (update_current_target): Inherit to_can_execute_reverse.
Remove to_set_exec_direction, to_get_exec_direction.
* inferior.h (enum exec_direction_kind): Move from target.h.
* infrun.c (set_exec_direction_func): Move here from reverse.c.
(show_exec_direction_func): Ditto.
(proceed): Consult global execution_direction instead of
target method.
(handle_inferior_event): Ditto.
* reverse.c (set_exec_direction_func): Move to infrun.c
(show_exec_direction_func): Ditto.
(exec_direction_default): Set infrun global variable.
(exec_reverse_once): Consult infrun global direction variable.
* infcmd.c (step_1): Consult infrun global direction variable.
(step_once): Ditto.
(until_next_command): Ditto.
(finish_command): Ditto.
* record.h (record_exec_direction): Delete.
(RECORD_IS_REPLAY): Consult infrun global direction variable.
* record.c: (record_wait_cleanups): Use infrun state variable.
(record_wait): Ditto.
(record_get_exec_direction, record_set_exec_direction): Remove.
(record_can_execute_reverse): New target method.
* remote.c (remote_resume): Use infrun state variable.
(remote_get_exec_direction, remote_set_exec_direction): Remove.
(remote_can_execute_reverse): New target method.
|
|
|
|
|
|
| |
* infrun.c (stepped_into_function): Rename handle_step_into_function.
(stepped_into_function_backward):
Rename handle_step_into_function_backward.
|
|
|
|
|
|
| |
* reverse.c: Update copyright.
(exec_reverse_once): Add function header comment.
(_initialize_reverse): Use i18n macros for set exec-direction.
|
|
|
|
|
|
|
| |
* i386-tdep.c, infrun.c, linux-record.c, linux-record.h,
record.c, record.h: Change name from
"record and reverse target" to
"process record and replay target".
|
| |
|
|
|
|
|
|
|
| |
* breakpoint.c (breakpoint_silence): Rename to make_breakpoint_silent.
* breakpoint.h: Ditto.
* infcmd.c (finish_backward): Call make_breakpoint_silent
instead of breakpoint_silence.
|
|
|
|
| |
* infcmd.c (finish_command): Reject async in reverse.
|
|
|
|
| |
* infcmd.c (finish_command): Use i18n macros.
|
|
|
|
| |
* infcmd.c: Minor function reordering.
|
|
|
|
|
|
|
| |
* infrun.c (step_into_function): Rename to stepped_into_function.
Split into two versions (normal (forward), and reverse).
(handle_inferior_event): Call stepped_into_function or
stepped_into_function_backward, depending on exec_direction.
|
|
|
|
| |
* infrun.c (handle_inferior_event): Comment rewording.
|
|
|
|
|
| |
* remote.c (remote_get_exec_direction): Use i18n macros.
(remote_set_exec_direction): Ditto.
|
|
|
|
| |
* infrun.c (handle_inferior_event, step_into_function): Formatting.
|
|
|
|
|
|
|
| |
* infrun.c (handle_inferior_event): Formatting, spelling fix.
* infrun.c (handle_inferior_event): Add special case for
"next" in reverse.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change from "to_prepare_to_store" to "to_store_registers".
* record.c (record_beneath_to_prepare_to_store): Removed.
(record_beneath_to_store_registers): New function pointer.
Instead "record_beneath_to_prepare_to_store". Will point
to the low strata target "to_store_registers" function.
(record_prepare_to_store): Removed.
(record_store_registers): New function.
Instead "record_prepare_to_store". Record the change of
registers from GDB.
(init_record_ops): Change record_prepare_to_store to
record_store_registers.
* record.h (record_beneath_to_prepare_to_store): Removed.
(record_beneath_to_store_registers): New extern.
(record_regcache_raw_write_regnum): Remove.
* target.c (update_current_target): Change
record_beneath_to_prepare_to_store to
record_beneath_to_store_registers.
|
|
|
|
|
|
|
| |
* infcmd.c (kill_if_already_running): If record target is used,
output special query.
* infrun.c (use_displaced_stepping): Return false if record/replay.
(proceed): Do not record state changes made by gdb in 'proceed'.
|
|
|
|
| |
* reverse.c (exec_reverse_once): Call do_cleanups explicitly.
|
|
|
|
| |
* infrun.c (handle_inferior_event): Fix typo in comment.
|
|
|
|
|
| |
* configure.tgt: Add linux-record.o here instead of in NATDEPFILES.
* config/i386/linux.mh: Remove linux-record.o from NATDEPFILES.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* target.c, target.h: Rename execdir to exec_direction.
* record.c, record.h: Ditto.
* reverse.c: Ditto.
* remote.c: Ditto.
* reverse.c (show_exec_direction_func): Don't error, just inform.
|
|
|
|
|
|
|
| |
* record.c (record_open): Call target_can_async_p() instead
of relying on a global variable.
* record.h (record_linux_async_permitted): Delete.
* linux-nat.h (record_linux_async_permitted): Delete reference.
|
|
|
|
|
| |
* reverse.c (reverse-continue): Remove a comma from docs string,
to avoid confusing output from 'apropos'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add process record and replay to i386 architecture.
* i386-linux-tdep.c (linux_record_tdep): New static variable.
I386 Linux record target-dependent stuff.
(i386_linux_intx80_sysenter_record): New function. Record the
running message of I386 Linux system call.
(i386_linux_init_ab): Initialize the linux_record_tdep. Add
i386_linux_intx80_sysenter_record to struct tdep.
* i386-tdep.c (i386_record_modrm, i386_record_lea_modrm_addr,
i386_record_lea_modrm, i386_record): New functions. Record the
running message of I386 instruction.
(i386_gdbarch_init): Add i386_record to struct gdbarch.
* i386-tdep.h (gdbarch_tdep): Add elements "i386_intx80_record"
and "i386_sysenter_record" to be the interfaces that record the
running message of instruction "intx80" and "sysenter".
* gdbarch.sh: Change process_record and process_record_dasm
to multi-arch model.
* gdbarch.c, gdbarch.h: Regenerate.
|
|
|
|
|
|
|
| |
Add process record and replay to Linux.
* linux-record.c, linux-record.h: New files.
* config/i386/linux.mh: Add linux-record.o to NATDEPFILES.
* Makefile.in: Add files linux-record.c, linux-record.o.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add process record and replay to GDB.
* record.c, record.h: New files. Record and reverse target.
* gdbarch.sh: New methods process_record and process_record_dasm.
* gdbarch.c, gdbarch.h: Re-generate.
* target.h (enum strata): Add record_stratum.
* target.h (target_ops): Add a element "to_support_record_wait".
Default value is 0. meaning that this target doesn't support record
wait.
* target.c: Add include of "record.h".
(update_current_target): Set the real beneath function.
(add_target): Set the default value of "to_support_record_wait".
pointers.
* Makefile.in: Add files record.c, record.o.
|
|
|
|
| |
* gdb.texinfo: Add documentation for reverse execution.
|
|
|
|
|
|
| |
User interface for reverse execution.
* Makefile.in (reverse.c): New file.
* reverse.c: New file. User interface for reverse execution.
|
|
|
|
|
|
|
| |
* breakpoint.h (breakpoint_silence): Export.
* breakpoint.c (breakpoint_silence): New function.
* infcmd.c (finish_command): Check for reverse exec direction.
(finish_backward): New function, handle finish cmd in reverse.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Event handling interface for reverse debugging.
* infrun.c (enum inferior_stop_reason): Add NO_HISTORY reason.
(handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY.
Handle stepping over a function call in reverse.
Handle stepping thru a line range in reverse.
Handle setting a step-resume breakpoint in reverse.
Handle stepping into a function in reverse.
Handle stepping between line ranges in reverse.
(print_stop_reason): Print reason for NO_HISTORY.
|
|
|
|
|
|
|
|
|
|
|
| |
Remote interface for reverse debugging.
* remote.c (remote_get_execdir, remote_set_execdir): New methods.
(remote_vcont_resume): Jump out if attempting reverse execution.
(remote_resume): Check for reverse exec direction, and send
appropriate command to target.
(remote_wait): Check target response for NO_HISTORY status.
Also check for empty reply (target doesn't understand "bs" or "bc).
(_initialize_remote): Add new methods to remote target vector.
|
|
|
|
|
|
|
|
|
|
| |
Target interface for reverse debugging.
* target.h (enum target_waitkind):
Add new wait event, TARGET_WAITKIND_NO_HISTORY.
(enum exec_direction_kind): New enum.
(struct target_ops): New methods to_set_execdir, to_get_execdir.
* target.c (target_get_execdir): New generic method.
(target_set_execdir): Ditto.
|
|
|
|
| |
moduli >= 2**31.
|