summaryrefslogtreecommitdiff
path: root/opcodes/bfin-dis.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-02-14 05:21:04 +0000
committerMike Frysinger <vapier@gentoo.org>2011-02-14 05:21:04 +0000
commitd47681947dc50501f85c9b794542855c36261800 (patch)
tree1cf3306216357773b69423be73c03358b23bb80c /opcodes/bfin-dis.c
parent71ddad7d1f83fabfe58a1a1702c77bfd39b1a22a (diff)
downloadbinutils-redhat-d47681947dc50501f85c9b794542855c36261800.tar.gz
opcodes: blackfin: catch invalid loopsetup insns
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>
Diffstat (limited to 'opcodes/bfin-dis.c')
-rw-r--r--opcodes/bfin-dis.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/opcodes/bfin-dis.c b/opcodes/bfin-dis.c
index 393276273e..312138a147 100644
--- a/opcodes/bfin-dis.c
+++ b/opcodes/bfin-dis.c
@@ -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");