diff options
author | Nick Clifton <nickc@redhat.com> | 2015-06-22 16:53:27 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-06-22 16:53:27 +0100 |
commit | bdc4de1b24353c4213e404029252ec75065499de (patch) | |
tree | c3ad4f2c6df81c81c6caae1251ecfd91fbcaee3e /opcodes/bfin-dis.c | |
parent | 07fcd30112bb071e8dda0a2229a860f2874a7816 (diff) | |
download | gdb-bdc4de1b24353c4213e404029252ec75065499de.zip gdb-bdc4de1b24353c4213e404029252ec75065499de.tar.gz gdb-bdc4de1b24353c4213e404029252ec75065499de.tar.bz2 |
Stop "objdump -d" from disassembling past a symbolic address.
include * dis-asm.h (struct disassemble_info): Add stop_vma field.
binuti * objdump.c (disassemble_bytes): Set the stop_vma field in the
disassemble_info structure when disassembling code sections with
-d.
* doc/binutils.texi (objdump): Document the discrepancy between -d
and -D.
opcodes * dis-buf.c (buffer_read_memory): Fail is stop_vma is set and the
requested region lies beyond it.
* bfin-dis.c (print_insn_bfin): Ignore sysop instructions when
looking for 32-bit insns.
* mcore-dis.c (print_insn_mcore): Disable stop_vma when reading
data.
* sh-dis.c (print_insn_sh): Likewise.
* tic6x-dis.c (print_insn_tic6x): Disable stop_vma when reading
blocks of instructions.
* vax-dis.c (print_insn_vax): Check that the requested address
does not clash with the stop_vma.
tests * gas/arm/backslash-at.s: Add extra .byte directives so that the
foo symbol does not appear to point half way through an
instruction.
* gas/arm/backslash-at.d: Update expected disassembly.
* gas/i386/ilp32/x86-64-opcode-inval-intel.d: Likewise.
* gas/i386/ilp32/x86-64-opcode-inval.d: Likewise.
* gas/i386/x86-64-opcode-inval-intel.d: Likewise.
* gas/i386/x86-64-opcode-inval.d: Likewise.
Diffstat (limited to 'opcodes/bfin-dis.c')
-rw-r--r-- | opcodes/bfin-dis.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/opcodes/bfin-dis.c b/opcodes/bfin-dis.c index cf66b79..bf2052e 100644 --- a/opcodes/bfin-dis.c +++ b/opcodes/bfin-dis.c @@ -4664,7 +4664,7 @@ _print_insn_bfin (bfd_vma pc, disassemble_info *outf) return -1; priv->iw0 = iw0; - if ((iw0 & 0xc000) == 0xc000) + if (((iw0 & 0xc000) == 0xc000) && ((iw0 & 0xff00) != 0xf800)) { /* 32-bit insn. */ if (ifetch (pc + 2, outf, &iw1)) |