aboutsummaryrefslogtreecommitdiff
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
commit298c1ec2a052b71bd60c244f2c3f8c6367214af1 (patch)
tree43de582ed87d2cca85289f455a0d7c059b6d558a /opcodes/bfin-dis.c
parentd79fe0d64301cbe37e2ad0e25a051f8607f08807 (diff)
downloadgdb-298c1ec2a052b71bd60c244f2c3f8c6367214af1.zip
gdb-298c1ec2a052b71bd60c244f2c3f8c6367214af1.tar.gz
gdb-298c1ec2a052b71bd60c244f2c3f8c6367214af1.tar.bz2
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 3932762..312138a 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");