Blob Blame History Raw
*** ../binutils-2.23.2.orig/opcodes/i386-dis.c	2014-01-07 13:47:16.063502965 +0000
--- opcodes/i386-dis.c	2014-01-07 13:54:56.370488407 +0000
*************** get_valid_dis386 (const struct dis386 *d
*** 11250,11260 ****
  }
  
  static void
! get_sib (disassemble_info *info)
  {
    /* If modrm.mod == 3, operand must be register.  */
    if (need_modrm
!       && address_mode != mode_16bit
        && modrm.mod != 3
        && modrm.rm == 4)
      {
--- 11250,11260 ----
  }
  
  static void
! get_sib (disassemble_info *info, int sizeflag)
  {
    /* If modrm.mod == 3, operand must be register.  */
    if (need_modrm
!       && ((sizeflag & AFLAG) || address_mode == mode_64bit)
        && modrm.mod != 3
        && modrm.rm == 4)
      {
*************** print_insn (bfd_vma pc, disassemble_info
*** 11538,11544 ****
  
    if (dp->name == NULL && dp->op[0].bytemode == FLOATCODE)
      {
!       get_sib (info);
        dofloat (sizeflag);
      }
    else
--- 11538,11544 ----
  
    if (dp->name == NULL && dp->op[0].bytemode == FLOATCODE)
      {
!       get_sib (info, sizeflag);
        dofloat (sizeflag);
      }
    else
*************** print_insn (bfd_vma pc, disassemble_info
*** 11546,11552 ****
        dp = get_valid_dis386 (dp, info);
        if (dp != NULL && putop (dp->name, sizeflag) == 0)
          {
! 	  get_sib (info);
  	  for (i = 0; i < MAX_OPERANDS; ++i)
  	    {
  	      obufp = op_out[i];
--- 11546,11552 ----
        dp = get_valid_dis386 (dp, info);
        if (dp != NULL && putop (dp->name, sizeflag) == 0)
          {
! 	  get_sib (info, sizeflag);
  	  for (i = 0; i < MAX_OPERANDS; ++i)
  	    {
  	      obufp = op_out[i];