2009-12-10 Michael Snyder <msnyder@vmware.com>

* i386-tdep.c (i386_record_lea_modrm_addr): Indent goto label.
	(i386_process_record): Indent goto label.  Use prefix opcode
	constants from include/opcode/i386.h in switch statement.
This commit is contained in:
Michael Snyder 2009-12-11 03:39:47 +00:00
parent b44f0b0212
commit 01fe1b4183
2 changed files with 22 additions and 16 deletions

View File

@ -1,3 +1,9 @@
2009-12-10 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_record_lea_modrm_addr): Indent goto label.
(i386_process_record): Indent goto label. Use prefix opcode
constants from include/opcode/i386.h in switch statement.
2009-12-10 Chris Moller <cmoller@redhat.com> 2009-12-10 Chris Moller <cmoller@redhat.com>
PR gdb/9399 PR gdb/9399

View File

@ -3144,7 +3144,7 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint64_t *addr)
*addr &= 0xffff; *addr &= 0xffff;
} }
no_rm: no_rm:
return 0; return 0;
} }
@ -3315,39 +3315,39 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
return -1; return -1;
} }
ir.addr++; ir.addr++;
switch (tmpu8) switch (tmpu8) /* Instruction prefixes */
{ {
case 0xf3: case REPE_PREFIX_OPCODE:
prefixes |= PREFIX_REPZ; prefixes |= PREFIX_REPZ;
break; break;
case 0xf2: case REPNE_PREFIX_OPCODE:
prefixes |= PREFIX_REPNZ; prefixes |= PREFIX_REPNZ;
break; break;
case 0xf0: case LOCK_PREFIX_OPCODE:
prefixes |= PREFIX_LOCK; prefixes |= PREFIX_LOCK;
break; break;
case 0x2e: case CS_PREFIX_OPCODE:
ir.override = X86_RECORD_CS_REGNUM; ir.override = X86_RECORD_CS_REGNUM;
break; break;
case 0x36: case SS_PREFIX_OPCODE:
ir.override = X86_RECORD_SS_REGNUM; ir.override = X86_RECORD_SS_REGNUM;
break; break;
case 0x3e: case DS_PREFIX_OPCODE:
ir.override = X86_RECORD_DS_REGNUM; ir.override = X86_RECORD_DS_REGNUM;
break; break;
case 0x26: case ES_PREFIX_OPCODE:
ir.override = X86_RECORD_ES_REGNUM; ir.override = X86_RECORD_ES_REGNUM;
break; break;
case 0x64: case FS_PREFIX_OPCODE:
ir.override = X86_RECORD_FS_REGNUM; ir.override = X86_RECORD_FS_REGNUM;
break; break;
case 0x65: case GS_PREFIX_OPCODE:
ir.override = X86_RECORD_GS_REGNUM; ir.override = X86_RECORD_GS_REGNUM;
break; break;
case 0x66: case DATA_PREFIX_OPCODE:
prefixes |= PREFIX_DATA; prefixes |= PREFIX_DATA;
break; break;
case 0x67: case ADDR_PREFIX_OPCODE:
prefixes |= PREFIX_ADDR; prefixes |= PREFIX_ADDR;
break; break;
case 0x40: /* i386 inc %eax */ case 0x40: /* i386 inc %eax */
@ -3383,7 +3383,7 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
break; break;
} }
} }
out_prefixes: out_prefixes:
if (ir.regmap[X86_RECORD_R8_REGNUM] && rex_w == 1) if (ir.regmap[X86_RECORD_R8_REGNUM] && rex_w == 1)
{ {
ir.dflag = 2; ir.dflag = 2;
@ -3400,7 +3400,7 @@ out_prefixes:
/* now check op code */ /* now check op code */
opcode = (uint32_t) tmpu8; opcode = (uint32_t) tmpu8;
reswitch: reswitch:
switch (opcode) switch (opcode)
{ {
case 0x0f: case 0x0f:
@ -5717,7 +5717,7 @@ reswitch:
return 0; return 0;
no_support: no_support:
printf_unfiltered (_("Process record doesn't support instruction 0x%02x " printf_unfiltered (_("Process record doesn't support instruction 0x%02x "
"at address %s.\n"), "at address %s.\n"),
(unsigned int) (opcode), paddress (gdbarch, ir.addr)); (unsigned int) (opcode), paddress (gdbarch, ir.addr));