OSDN Git Service

Jason Molenda <jmolenda@apple.com>
authorkettenis <kettenis>
Mon, 18 Jul 2005 19:18:37 +0000 (19:18 +0000)
committerkettenis <kettenis>
Mon, 18 Jul 2005 19:18:37 +0000 (19:18 +0000)
* i386-tdep.c (i386_match_insn): Match complete instruction
pattern.

gdb/ChangeLog
gdb/i386-tdep.c

index b200e70..eb827f7 100644 (file)
@@ -1,4 +1,10 @@
 2005-07-18  Mark Kettenis  <kettenis@gnu.org>
+           Jason Molenda  <jmolenda@apple.com>
+
+       * i386-tdep.c (i386_match_insn): Match complete instruction
+       pattern.
+
+2005-07-18  Mark Kettenis  <kettenis@gnu.org>
 
        * i386-tdep.c (i386_reg_struct_return_p): Handle structures with a
        single 'long double' member correctly.
index 7c04787..3fd82a6 100644 (file)
@@ -499,7 +499,8 @@ i386_match_insn (CORE_ADDR pc, struct i386_insn *skip_insns)
     {
       if ((op & insn->mask[0]) == insn->insn[0])
        {
-         unsigned char buf[I386_MAX_INSN_LEN - 1];
+         gdb_byte buf[I386_MAX_INSN_LEN - 1];
+         int insn_matched = 1;
          size_t i;
 
          gdb_assert (insn->len > 1);
@@ -509,10 +510,11 @@ i386_match_insn (CORE_ADDR pc, struct i386_insn *skip_insns)
          for (i = 1; i < insn->len; i++)
            {
              if ((buf[i - 1] & insn->mask[i]) != insn->insn[i])
-               break;
-
-             return insn;
+               insn_matched = 0;
            }
+
+         if (insn_matched)
+           return insn;
        }
     }