]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - gdb/i386-tdep.c
I386 architecture process record and replay support.
authorHui Zhu <teawater@gmail.com>
Thu, 30 Apr 2009 03:12:17 +0000 (03:12 +0000)
committerHui Zhu <teawater@gmail.com>
Thu, 30 Apr 2009 03:12:17 +0000 (03:12 +0000)
commit7ad10968513bdf1f4af09a74f6b51547547ad2bd
tree4238ad98642e270fbd42c416f8ce5b60a1450c3c
parent96429cc88348ab437aba4dbf80c264351eb0b62d
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.
gdb/ChangeLog
gdb/i386-tdep.c
gdb/i386-tdep.h