| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* record.c (record_wait): Fix the bug of forware step after
reverse step.
Make debug message more clean.
Remove variable record_list_status.
* i386-tdep.c (i386_record): Fix the bug of "0x80 ... 0x83".
|
|
|
|
|
| |
* infrun.c (proceed): No need to singlestep over a breakpoint
when resuming in reverse.
|
|
|
|
|
|
| |
* gdb.twreverse/machinestate.exp: New file.
* gdb.twreverse/machinestate.c: New file.
* gdb.twreverse/machinestate1.c: New file.
|
|
|
|
|
|
| |
* gdb.twreverse/consecutive-reverse.exp: New file.
* gdb.twreverse/consecutive-reverse.c: New file.
* gdb.twreverse/Makefile.in: Update for make clean.
|
|
|
|
|
| |
* record.c (record_resume): Change
"record_ops.beneath->to_resume" to "record_beneath_to_resume".
|
|
|
|
|
|
| |
* gdb.twreverse/until-reverse.exp: New file.
* gdb.twreverse/until-reverse.c: New file.
* gdb.twreverse/until-reverse1.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gdb.twreverse/return2-reverse.c: Rename to:
* gdb.twreverse/finish-reverse.c: New name of file.
* gdb.twreverse/*.exp: Sharpen regexps, add $gdb_prompt.
2008-09-06 Michael Snyder <msnyder@vmware.com>
* gdb.twreverse/watch-reverse.exp: New file.
* gdb.twreverse/watch-reverse.c: New file.
* gdb.twreverse/Makefile.in: Add watch-reverse for make clean.
* gdb.twreverse/step-reverse.exp: Add $gdb_prompt to regexps.
|
|
|
|
| |
* i386-tdep.c (i386_record): Record the memory change of FP instructions.
|
|
|
|
| |
* record.c (record_wait): Add code to deal with record_first.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gdbfreeplay-back.c (frame_find_request): Rewrite loop to
avoid fencepost error on last frame.
2008-06-23 Michael Snyder <msnyder@specifix.com>
* gdbfreeplay.h: Replace all address values with unsigned long long.
* gdbfreeplay-i386.c: Ditto.
* gdbfreeplay-mips64.c: Ditto.
* gdbfreeplay-back.c: Ditto.
* remote-break.c: Ditto.
* remote-break.h: Ditto.
* configure.srv: Add configuration for mips64-linux.
* gdbfreeplay-mips64.c: New file, back-end for mips64.
* Makefile.in: Add rules for mips and intel back-ends.
2008-06-21 Michael Snyder <msnyder@specifix.com>
* gdbfreeplay-back.c (scan_gdbreplay_file): Add support for 'W'
reply (exiting), but not for 'X' (terminated).
(freeplay_find_event): Make sure we always advance by at least
one frame, unles it's the first or last frame.
(handle_special_case): Add support for 'S' and 'C' requests.
* gdbfreeplay-back.c (handle_special_case): No need to re-compose
a T packet (with doctored PC) on any stop signal except SIGTRAP.
Fix stepping/breakpoint off-by-one issues.
* gdbfreeplay-back.c (freeplay_find_event): Fix off-by-one error
on last_cached_frame.
(freeplay_show_next_commands): Ditto.
(handle_special_case): Ditto, plus don't pass breakpoint_p == TRUE
to target_compose_T_packet if we're stopped at the end of the
event cache.
* gdbfreeplay-back.c (handle_special_case): Silence gcc warning.
* gdbfreeplay-i386.c (target_compose_g_packet): Ditto.
Add monitor gdbreplay-next command.
* gdbfreeplay-back.c (freeplay_show_next_commands): New function.
Echo the next set of gdb commands, in the manner of gdbreplay.
(handle_special_case): Handle monitor gdbreplay-next command.
(fallbacks): Catch any unhandled qRcmd requests.
Add support for 'R' packet (restart).
* gdbfreeplay-back.c (handle_special_case). Add support for 'R'.
Remove support for "monitor gdbfreeplay-echo".
Add support for 'O' packet output.
* remote-breakpoint.h (PLAY_O_PACKETS): New enum const.
* gdbfreeplay-back.c (StopFrame): Discard gpos, replace with Opos.
(scan_gdbreplay_file): Record Opos for frame if 'O' packet found.
(frame_replay_O_packets): New function.
(freeplay_find_event): Call frame_replay_O_packets.
(handle_special_case): Pass PLAY_O_PACKETS to freeplay_find_event.
Add temporary support for "monitor gdbfreeplay-echo" command
(just for testing).
* gdbfreeplay-back.c: Clean up round, comments, remove #if 0 etc.
* gdbfreeplay-i386.c: Ditto.
* gdbfreeplay-i386.c (target_pc_from_g): Accept a char * instead
of a FILE *.
* gdbfreeplay.h (target_pc_from_g): Change prototype.
* gdbfreeplay-back.c (scan_gdbreplay_file): Change call.
* gdbfreeplay-i386.c (target_compose_T_packet): Add default return.
(target_compose_g_packet): New function.
* gdbfreeplay.h (target_compose_g_packet): Export.
* gdbfreeplay-back.c (handle_special_case): Give correct args
for target_compose_T_packet.
(fallbacks): Add handling for 'G', 'M', 'X', and 'g'.
* gdbfreeplay-front.c: New file. Extended gdbreplay.
* gdbfreeplay-back.c: New file.
* gdbfreeplay-i386.c: New file.
* gdbfreeplay.h: New file.
* remote-breakpoint.c: New file.
* remote-breakpoint.h: New file.
* Makefile.in: Add rules for gdb-freeplay.
* configure.srv: Ditto.
* configure.ac: Ditto.
* configure: Regenerate.
|
|
|
|
| |
* record.c: Add some function header comments.
|
|
|
|
| |
* record-linux.c: Comment and message string cleanup.
|
|
|
|
|
| |
* Makefile.in: Add "gdb.twreverse" to "ALL_SUBDIRS".
* gdb.twreverse/Makefile.in: TAB instead of 8 spaces.
|
|
|
|
| |
* record.c: Comment and message string cleanup.
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add $gdb_prompt to regexps.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* gdb.twreverse/finish-reverse.exp: New file.
* gdb.twreverse/return2-reverse.c: New file.
* gdb.twreverse/Makefile.in: Add return2-reverse for make clean.
|
|
|
|
|
|
| |
* infrun.c (handle_inferior_event): Revert one change, in the
context of comment "We are at the start of a different line".
This code finds the start of the line while stepping.
|
|
|
|
|
|
| |
* gdb.twreverse/reverse-return.exp: New file.
* gdb.twreverse/reverse-return.c: New file.
* gdb.twreverse/Makefile.in: Mention reverse-return for make clean.
|
|
|
|
| |
* gdb.twreverse/Makefile.in: Mention step-reverse for make clean.
|
| |
|
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepi
thru the return of a function (into callee).
* gdb.twreverse/step-reverse.c: Ditto.
|
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepi
thru a function call (back to caller).
* gdb.twreverse/step-reverse.c: Ditto.
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepi.
* gdb.twreverse/step-reverse.c: Ditto.
|
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add tests for stepping
backward into a function call.
* gdb.twreverse/step-reverse.c: Ditto.
|
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: Add tests for reverse stepping
over, into, and out of a function call.
* gdb.twreverse/step-reverse.c: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(record_registers_change): Call function
"record_check_insn_num" check the insn number. Increase
"record_insn_num" if need.
(record_xfer_partial): Call function "record_check_insn_num"
check the insn number. Increase "record_insn_num" if need.
2008-08-10 Hui Zhu <teawater@gmail.com>
Add the real beneath function pointers for record target.
* Makefile.in: Add record.h to depend of target.c.
* record.c (record_beneath_to_resume, record_beneath_to_wait,
record_beneath_to_prepare_to_store,
record_beneath_to_xfer_partial,
record_beneath_to_insert_breakpoint,
record_beneath_to_remove_breakpoint): New function pointers.
The real beneath function pointers.
(record_resume): Change "record_ops.beneath->to_resume" to
"record_beneath_to_resume".
(record_wait): Change "record_ops.beneath->to_wait" to
"record_beneath_to_wait".
(record_prepare_to_store): Change
"record_ops.beneath->to_prepare_to_store" to
"record_beneath_to_prepare_to_store".
(record_xfer_partial): Change
"record_ops.beneath->to_xfer_partial" to
"record_beneath_to_xfer_partial".
(record_insert_breakpoint): Change
"record_ops.beneath->to_insert_breakpoint" to
"record_beneath_to_insert_breakpoint".
(record_remove_breakpoint): Change
"record_ops.beneath->to_remove_breakpoint" to
"record_beneath_to_remove_breakpoint".
* record.h (record_beneath_to_resume,
record_beneath_to_wait,
record_beneath_to_prepare_to_store,
record_beneath_to_xfer_partial,
record_beneath_to_insert_breakpoint,
record_beneath_to_remove_breakpoint): Extern.
* target.c: Add include of "record.h".
(update_current_target): Set the real beneath function
pointers.
|
|
|
|
|
| |
* gdb.twreverse/step-reverse.exp: New file.
* gdb.twreverse/step-reverse.c: New file.
|
|
|
|
|
|
|
|
|
| |
* gdb.twreverse: New directory (may be renamed later).
* gdb.twreverse/Makefile.in: New file.
* gdb.twreverse/break-reverse.exp: New file.
* gdb.twreverse/break-reverse.c: New file.
* configure.in: Add gdb.twreverse directory.
* configure: Regenerate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the real beneath function pointers for record target.
* Makefile.in: Add record.h to depend of target.c.
* record.c (record_beneath_to_resume, record_beneath_to_wait,
record_beneath_to_prepare_to_store, record_beneath_to_xfer_partial,
record_beneath_to_insert_breakpoint,
record_beneath_to_remove_breakpoint): New function pointers. The real
beneath function pointers.
(record_resume): Change "record_ops.beneath->to_resume" to
"record_beneath_to_resume".
(record_wait): Change "record_ops.beneath->to_wait" to
"record_beneath_to_wait".
(record_prepare_to_store): Change
"record_ops.beneath->to_prepare_to_store" to
"record_beneath_to_prepare_to_store".
(record_xfer_partial): Change "record_ops.beneath->to_xfer_partial" to
"record_beneath_to_xfer_partial".
(record_insert_breakpoint): Change
"record_ops.beneath->to_insert_breakpoint" to
"record_beneath_to_insert_breakpoint".
(record_remove_breakpoint): Change
"record_ops.beneath->to_remove_breakpoint" to
"record_beneath_to_remove_breakpoint".
* record.h (record_beneath_to_resume, record_beneath_to_wait,
record_beneath_to_prepare_to_store, record_beneath_to_xfer_partial,
record_beneath_to_insert_breakpoint,
record_beneath_to_remove_breakpoint): Extern.
* target.c: Add include of "record.h".
(update_current_target): Set the real beneath function pointers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* i386-linux-tdep.c (I386_RECORD_SIZE_termios,
I386_RECORD_SIZE_termios2, I386_RECORD_SIZE_pid_t,
I386_RECORD_SIZE_winsize, I386_RECORD_SIZE_char,
I386_RECORD_SIZE_serial_struct,
I386_RECORD_SIZE_serial_icounter_struct,
I386_RECORD_SIZE_hayes_esp_config): New macros. Sizes of some types in
I386.
(I386_RECORD_IOCTL_TCGETS,
I386_RECORD_IOCTL_TCSETS,
I386_RECORD_IOCTL_TCSETSW,
I386_RECORD_IOCTL_TCSETSF,
I386_RECORD_IOCTL_TCGETA,
I386_RECORD_IOCTL_TCSETA,
I386_RECORD_IOCTL_TCSETAW,
I386_RECORD_IOCTL_TCSETAF,
I386_RECORD_IOCTL_TCSBRK,
I386_RECORD_IOCTL_TCXONC,
I386_RECORD_IOCTL_TCFLSH,
I386_RECORD_IOCTL_TIOCEXCL,
I386_RECORD_IOCTL_TIOCNXCL,
I386_RECORD_IOCTL_TIOCSCTTY,
I386_RECORD_IOCTL_TIOCGPGRP,
I386_RECORD_IOCTL_TIOCSPGRP,
I386_RECORD_IOCTL_TIOCOUTQ,
I386_RECORD_IOCTL_TIOCSTI,
I386_RECORD_IOCTL_TIOCGWINSZ,
I386_RECORD_IOCTL_TIOCSWINSZ,
I386_RECORD_IOCTL_TIOCMGET,
I386_RECORD_IOCTL_TIOCMBIS,
I386_RECORD_IOCTL_TIOCMBIC,
I386_RECORD_IOCTL_TIOCMSET,
I386_RECORD_IOCTL_TIOCGSOFTCAR,
I386_RECORD_IOCTL_TIOCSSOFTCAR,
I386_RECORD_IOCTL_FIONREAD,
I386_RECORD_IOCTL_TIOCINQ,
I386_RECORD_IOCTL_TIOCLINUX,
I386_RECORD_IOCTL_TIOCCONS,
I386_RECORD_IOCTL_TIOCGSERIAL,
I386_RECORD_IOCTL_TIOCSSERIAL,
I386_RECORD_IOCTL_TIOCPKT,
I386_RECORD_IOCTL_FIONBIO,
I386_RECORD_IOCTL_TIOCNOTTY,
I386_RECORD_IOCTL_TIOCSETD,
I386_RECORD_IOCTL_TIOCGETD,
I386_RECORD_IOCTL_TCSBRKP,
I386_RECORD_IOCTL_TIOCTTYGSTRUCT,
I386_RECORD_IOCTL_TIOCSBRK,
I386_RECORD_IOCTL_TIOCCBRK,
I386_RECORD_IOCTL_TIOCGSID,
I386_RECORD_IOCTL_TCGETS2,
I386_RECORD_IOCTL_TCSETS2,
I386_RECORD_IOCTL_TCSETSW2,
I386_RECORD_IOCTL_TCSETSF2,
I386_RECORD_IOCTL_TIOCGPTN,
I386_RECORD_IOCTL_TIOCSPTLCK,
I386_RECORD_IOCTL_FIONCLEX,
I386_RECORD_IOCTL_FIOCLEX,
I386_RECORD_IOCTL_FIOASYNC,
I386_RECORD_IOCTL_TIOCSERCONFIG,
I386_RECORD_IOCTL_TIOCSERGWILD,
I386_RECORD_IOCTL_TIOCSERSWILD,
I386_RECORD_IOCTL_TIOCGLCKTRMIOS,
I386_RECORD_IOCTL_TIOCSLCKTRMIOS,
I386_RECORD_IOCTL_TIOCSERGSTRUCT,
I386_RECORD_IOCTL_TIOCSERGETLSR,
I386_RECORD_IOCTL_TIOCSERGETMULTI,
I386_RECORD_IOCTL_TIOCSERSETMULTI,
I386_RECORD_IOCTL_TIOCMIWAIT,
I386_RECORD_IOCTL_TIOCGICOUNT,
I386_RECORD_IOCTL_TIOCGHAYESESP,
I386_RECORD_IOCTL_TIOCSHAYESESP,
I386_RECORD_IOCTL_FIOQSIZE): New macros. Ioctl request numbers in I386.
(i386_linux_init_abi): Initialize the size of some types and ioctl
request numbers in linux_record_tdep.
linux-record.c (record_linux_system_call): Record more ioctl requests.
linux-record.h (linux_record_tdep_s): Add size of some types and ioctl
request numbers.
Add a cleanup in function "record_wait".
* record.c (record_wait_cleanups): New function. Clean for function
"record_wait".
(record_wait): Add a cleanup to call function "record_wait_cleanups".
i386-tdep.c (i386_record_lea_modrm): If this is not a error, output
warning message of "can't get the value of the segment register" just
when record_debug is set.
record.c (record_message): Change output message from "pause" to
"stop".
linux-record.c (record_linux_system_call): Change output message from
"pause" to "stop".
linux-record.c (record_linux_system_call): Make query message for
syscall munmap more clear.
record.c (_initialize_record): Fix a little bug.
|
|
|
|
|
|
|
|
|
|
| |
* record.c (_initialize_record): Clarify language in help strings.
Fix up comment format (period must be followed by two spaces).
2008-08-01 Michael Snyder <msnyder@specifix.com>
* i386-tdep.c (i386_record_lea_modrm): Spelling fix.
:wq
|
|
|
|
|
| |
Add record instructions limit.
Add a cleanup for displaced stepping in function "record_message_cleanups".
|
| |
|
|
|
|
| |
Optimize infrun.c.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-05-02 Michael Snyder <msnyder@redhat.com>
* Target interface for reverse execution.
* 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.
* 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.
* 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.
* 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.
2006-03-31 Michael Snyder <msnyder@redhat.com>
User interface for reverse execution.
* Makefile.in (reverse.c): New file.
* reverse.c: New file. User interface for reverse execution.
2007-04-18 Daniel Jacobowitz <dan@codesourcery.com>
* infcmd.c (finish_backwards): Correct check for whether to back
up after finishing.
* arm-tdep.c (arm_scan_epilogue): New.
(arm_make_prologue_cache): Use it.
(arm_epilogue_unwind_sniffer): New.
(arm_gdbarch_init): Register it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|