diff options
author | Hui Zhu <teawater@gmail.com> | 2008-07-21 15:46:29 +0000 |
---|---|---|
committer | Hui Zhu <teawater@gmail.com> | 2008-07-21 15:46:29 +0000 |
commit | cec237ca7184b2d2c2816d60144fcd5176e5a481 (patch) | |
tree | bdda5893c5eaebe47f4c5dffa1eb42d7dd74b8c2 | |
parent | cac050b9e76171d5c410ec974a56c285072fef86 (diff) | |
download | gdb-cec237ca7184b2d2c2816d60144fcd5176e5a481.tar.gz |
Add record target to GDB.
-rw-r--r-- | gdb/ChangeLog | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6dd3eabf7cc..bb30b0841f5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,57 @@ +2008-07-20 Hui Zhu <teawater@gmail.com> + + Add record target to GDB. + + * linux-record.c, linux-record.h: New files. Record and reverse target + code for GNU/Linux. + * record.c, record.h: New files. Record and reverse target. + * Makefile.in: Add files record.c, record.h, linux-record.c and + linux-record.h. + * configure.tgt: Add files linux-record.c and linux-record.h. + * gdbarch.c, gdbarch.h: Add elements "record" and "record_dasm". + * 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". + * infcmd.c (step_prev_frame_id): New global variable. When GDB is in the + reverse debug mode, it is used to make sure if inferior return to the + prev function. + (step_1, step_once, until_next_command): Set the value of variable + "step_prev_frame_id". + (kill_if_already_running): If record target is used, output special + query. + * inferior.h (step_prev_frame_id): Extern. + * inflow.c (kill_command): If record target is used, output special + query. + * infrun.c (reverse_resume_need_step): New static variable. When the + record function want inferior step before call function "keep_going", + "reverse_resume_need_step" will be set to 1. + (displaced_step_ptid, displaced_step_original, displaced_step_copy): Set + them from static to global because record.c use them. + (use_displaced_stepping): If record target is in replay mode, it will + return false. + (proceed): Call function "record_not_record_set" if record target is + open. + (handle_inferior_event): Change some Handle when execdir of target is + reverse or record target is open to make reverse execute work well. + * linux-nat.c (my_waitpid_record): New function. Call function + "my_waitpid" and check the result with itself to make record target + speed up. + (linux_nat_wait): If record target is open and not the sigle step, call + function "my_waitpid_record". + * regcache.c (regcache_raw_write): Set regnum to + record_regcache_raw_write_regnum. + * target.h (strata): Add element "record_stratum". + 2008-07-17 Michael Snyder <msnyder@specifix.com> 2006-05-02 Michael Snyder <msnyder@redhat.com> |