--- i386-tdep.c | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) --- a/i386-tdep.c +++ b/i386-tdep.c @@ -4448,9 +4448,8 @@ reswitch: regcache_raw_read_unsigned (ir.regcache, ir.regmap[X86_RECORD_REDI_REGNUM], &tmpulongest); - if (!ir.aflag) + if (ir.aflag) { - tmpulongest &= 0xffff; /* addr += ((uint32_t) read_register (I386_ES_REGNUM)) << 4; */ if (record_debug) printf_unfiltered (_("Process record ignores the memory change " @@ -4460,27 +4459,9 @@ reswitch: paddress (gdbarch, ir.addr)); } if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) - { - ULONGEST count, eflags; - regcache_raw_read_unsigned (ir.regcache, - ir.regmap[X86_RECORD_REDI_REGNUM], - &count); - if (!ir.aflag) - count &= 0xffff; - regcache_raw_read_unsigned (ir.regcache, - ir.regmap[X86_RECORD_EFLAGS_REGNUM], - &eflags); - if ((eflags >> 10) & 0x1) - tmpulongest -= (count - 1) * (1 << ir.ot); - if (record_arch_list_add_mem (tmpulongest, count * (1 << ir.ot))) - return -1; - I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_RECX_REGNUM); - } - else - { - if (record_arch_list_add_mem (tmpulongest, 1 << ir.ot)) - return -1; - } + I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_RECX_REGNUM); + if (record_arch_list_add_mem (tmpulongest, 1 << ir.ot)) + return -1; if (opcode == 0xa4 || opcode == 0xa5) I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_RESI_REGNUM); I386_RECORD_ARCH_LIST_ADD_REG (X86_RECORD_REDI_REGNUM);