+2010-04-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (get_valid_dis386): Return bad_opcode on unknown
+ bits in opcode.
+
2010-04-09 Nick Clifton <nickc@redhat.com>
* i386-dis.c (print_insn): Remove unused variable op.
switch ((*codep & 0x1f))
{
default:
- BadOp ();
+ dp = &bad_opcode;
+ return dp;
+ break;
case 0x8:
vex_table_index = XOP_08;
break;
vex.register_specifier = (~(*codep >> 3)) & 0xf;
if (address_mode != mode_64bit
&& vex.register_specifier > 0x7)
- BadOp ();
+ {
+ dp = &bad_opcode;
+ return dp;
+ }
vex.length = (*codep & 0x4) ? 256 : 128;
switch ((*codep & 0x3))
switch ((*codep & 0x1f))
{
default:
- BadOp ();
+ dp = &bad_opcode;
+ return dp;
case 0x1:
vex_table_index = VEX_0F;
break;
vex.register_specifier = (~(*codep >> 3)) & 0xf;
if (address_mode != mode_64bit
&& vex.register_specifier > 0x7)
- BadOp ();
+ {
+ dp = &bad_opcode;
+ return dp;
+ }
vex.length = (*codep & 0x4) ? 256 : 128;
switch ((*codep & 0x3))
vex.register_specifier = (~(*codep >> 3)) & 0xf;
if (address_mode != mode_64bit
&& vex.register_specifier > 0x7)
- BadOp ();
+ {
+ dp = &bad_opcode;
+ return dp;
+ }
vex.w = 0;