aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.h
diff options
context:
space:
mode:
authorHui Zhu <teawater@gmail.com>2009-04-30 03:12:17 +0000
committerHui Zhu <teawater@gmail.com>2009-04-30 03:12:17 +0000
commit7ad10968513bdf1f4af09a74f6b51547547ad2bd (patch)
tree4238ad98642e270fbd42c416f8ce5b60a1450c3c /gdb/i386-tdep.h
parent96429cc88348ab437aba4dbf80c264351eb0b62d (diff)
downloadgdb-7ad10968513bdf1f4af09a74f6b51547547ad2bd.zip
gdb-7ad10968513bdf1f4af09a74f6b51547547ad2bd.tar.gz
gdb-7ad10968513bdf1f4af09a74f6b51547547ad2bd.tar.bz2
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.
Diffstat (limited to 'gdb/i386-tdep.h')
-rw-r--r--gdb/i386-tdep.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index 6bebdfc..c73e7d9 100644
--- a/gdb/i386-tdep.h
+++ b/gdb/i386-tdep.h
@@ -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. */