I386 architecture process record and replay support.
* i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK, PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386 instruction set. (aflag, dflag, override, modrm, mod, reg, rm, ot, i386_record_pc): New variables. Ditto. (i386_record_modrm, i386_record_lea_modrm_addr, i386_record_lea_modrm): New functions. Ditto. (i386_process_record): New function. Parse the instruction in address "addr" and record the values of registers and memory that will be changed by this instruction. (i386_gdbarch_init): Set "i386_process_record" to GDBARCH "process_record" interface. * i386-tdep.h (gdbarch_tdep): New function pointers "i386_intx80_record" and "i386_sysenter_record" that point to the function that can record "intx80" and "sysenter" execute log.
This commit is contained in:
parent
96429cc883
commit
7ad1096851
@ -1,3 +1,25 @@
|
||||
2009-04-30 Hui Zhu <teawater@gmail.com>
|
||||
Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
I386 architecture process record and replay support.
|
||||
|
||||
* i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK,
|
||||
PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386
|
||||
instruction set.
|
||||
(aflag, dflag, override, modrm, mod, reg, rm, ot,
|
||||
i386_record_pc): New variables. Ditto.
|
||||
(i386_record_modrm, i386_record_lea_modrm_addr,
|
||||
i386_record_lea_modrm): New functions. Ditto.
|
||||
(i386_process_record): New function. Parse the instruction in
|
||||
address "addr" and record the values of registers and memory
|
||||
that will be changed by this instruction.
|
||||
(i386_gdbarch_init): Set "i386_process_record" to GDBARCH
|
||||
"process_record" interface.
|
||||
* i386-tdep.h (gdbarch_tdep): New function pointers
|
||||
"i386_intx80_record" and "i386_sysenter_record" that point to
|
||||
the function that can record "intx80" and "sysenter" execute
|
||||
log.
|
||||
|
||||
2009-04-30 Hui Zhu <teawater@gmail.com>
|
||||
Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
|
2413
gdb/i386-tdep.c
2413
gdb/i386-tdep.c
File diff suppressed because it is too large
Load Diff
@ -106,6 +106,12 @@ struct gdbarch_tdep
|
||||
/* ISA-specific data types. */
|
||||
struct type *i386_mmx_type;
|
||||
struct type *i386_sse_type;
|
||||
|
||||
/* Process record/replay target. */
|
||||
/* Parse intx80 args. */
|
||||
int (*i386_intx80_record) (struct regcache *regcache);
|
||||
/* Parse sysenter args. */
|
||||
int (*i386_sysenter_record) (struct regcache *regcache);
|
||||
};
|
||||
|
||||
/* Floating-point registers. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user