opcodes: blackfin: catch invalid loopsetup insns
authorMike Frysinger <vapier@gentoo.org>
Mon, 14 Feb 2011 05:21:04 +0000 (05:21 +0000)
committerMike Frysinger <vapier@gentoo.org>
Mon, 14 Feb 2011 05:21:04 +0000 (05:21 +0000)
The LoopSetup insn is only valid when the reg field is 0-7, so
don't go decoding it incorrectly when reg is 8-15.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
opcodes/ChangeLog
opcodes/bfin-dis.c

index 5dd4bb1960430b03e20c0cdb974db4b7afc36d3f..3c9fe728323cbd6dd5fee15e34d8a6c1337697a1 100644 (file)
@@ -1,3 +1,8 @@
+2011-02-14  Mike Frysinger  <vapier@gentoo.org>
+
+       * bfin-dis.c (decode_LoopSetup_0): Return when reg is greater
+       than 7.
+
 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * configure: Regenerate.
index 393276273e68405e189830eabad2606dd4548662..312138a147c276d378abcd1cdf96b67c1504f2ef 100644 (file)
@@ -2623,6 +2623,9 @@ decode_LoopSetup_0 (TIword iw0, TIword iw1, bfd_vma pc, disassemble_info *outf)
   if (parallel)
     return 0;
 
+  if (reg > 7)
+    return 0;
+
   if (rop == 0)
     {
       OUTS (outf, "LSETUP");