instruction when walking back through the instruction stream.
+2011-06-12  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386-tdep.c (i386_match_insn_block): Use length of the proper
+       instruction when walking back through the instruction stream.
+
 2011-06-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * symtab.c (output_partial_symbol_filename): Exchange the filename and
 
   if (insn == NULL)
     return 0;
 
-  current_pc = pc - insn->len;
+  current_pc = pc;
   ix = insn - insn_patterns;
   for (i = ix - 1; i >= 0; i--)
     {
+      current_pc -= insn_patterns[i].len;
+
       if (!i386_match_pattern (current_pc, insn_patterns[i]))
        return 0;
-
-      current_pc -= insn_patterns[i].len;
     }
 
   current_pc = pc + insn->len;