2009-08-22 Michael Snyder <msnyder@vmware.com>

* i386-tdep.c (i386_process_record): Break out of prefix loop
	if not amd64.  Otherwise inc/dec instructions are lost.
This commit is contained in:
Michael Snyder 2009-08-26 23:59:19 +00:00
parent 4e7defc130
commit d691bec739
2 changed files with 24 additions and 17 deletions

View File

@ -1,3 +1,8 @@
2009-08-26 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_process_record): Break out of prefix loop
if not amd64. Otherwise inc/dec instructions are lost.
2009-08-25 Keith Seitz <keiths@redhat.com>
* c-exp.y (yylex): Add cxx_only check for tokentab2 and tokentab3

View File

@ -3280,23 +3280,23 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
case 0x67:
prefixes |= PREFIX_ADDR;
break;
case 0x40:
case 0x41:
case 0x42:
case 0x43:
case 0x44:
case 0x45:
case 0x46:
case 0x47:
case 0x48:
case 0x49:
case 0x4a:
case 0x4b:
case 0x4c:
case 0x4d:
case 0x4e:
case 0x4f:
if (ir.regmap[X86_RECORD_R8_REGNUM])
case 0x40: /* i386 inc %eax */
case 0x41: /* i386 inc %ecx */
case 0x42: /* i386 inc %edx */
case 0x43: /* i386 inc %ebx */
case 0x44: /* i386 inc %esp */
case 0x45: /* i386 inc %ebp */
case 0x46: /* i386 inc %esi */
case 0x47: /* i386 inc %edi */
case 0x48: /* i386 dec %eax */
case 0x49: /* i386 dec %ecx */
case 0x4a: /* i386 dec %edx */
case 0x4b: /* i386 dec %ebx */
case 0x4c: /* i386 dec %esp */
case 0x4d: /* i386 dec %ebp */
case 0x4e: /* i386 dec %esi */
case 0x4f: /* i386 dec %edi */
if (ir.regmap[X86_RECORD_R8_REGNUM]) /* 64 bit target */
{
/* REX */
rex = 1;
@ -3305,6 +3305,8 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
ir.rex_x = (tmpu8 & 0x2) << 2;
ir.rex_b = (tmpu8 & 0x1) << 3;
}
else /* 32 bit target */
goto out_prefixes;
break;
default:
goto out_prefixes;