summaryrefslogtreecommitdiff
path: root/opcodes/v850-dis.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-04-03 14:42:09 +0000
committerNick Clifton <nickc@redhat.com>2013-04-03 14:42:09 +0000
commitdcd134c04dbf2b828c4aaef879b2b958aebc2290 (patch)
tree50e13f37e41134bdb6890c26db4db1b505ae0e81 /opcodes/v850-dis.c
parente2943710464d4073678fda0659c276d9d5fc345a (diff)
downloadbinutils-redhat-dcd134c04dbf2b828c4aaef879b2b958aebc2290.tar.gz
* elf32-v850.c (v850_elf_is_target_special_symbol): New function.
(bfd_elf32_bfd_is_target_special_symbol): Define. * v850.h (V850_INVERSE_PCREL): Define. * v850-dis.c (print_value): With V850_INVERSE_PCREL compute the destination address by subtracting the operand from the current address. * v850-opc.c (insert_u16_loop): Disallow negative offsets. Store a positive value in the insn. (extract_u16_loop): Do not negate the returned value. (D16_LOOP): Add V850_INVERSE_PCREL flag. (ceilf.sw): Remove duplicate entry. (cvtf.hs): New entry. (cvtf.sh): Likewise. (fmaf.s): Likewise. (fmsf.s): Likewise. (fnmaf.s): Likewise. (fnmsf.s): Likewise. (maddf.s): Restrict to E3V5 architectures. (msubf.s): Likewise. (nmaddf.s): Likewise. (nmsubf.s): Likewise.
Diffstat (limited to 'opcodes/v850-dis.c')
-rw-r--r--opcodes/v850-dis.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/opcodes/v850-dis.c b/opcodes/v850-dis.c
index 648846b164..bf168516d9 100644
--- a/opcodes/v850-dis.c
+++ b/opcodes/v850-dis.c
@@ -94,6 +94,9 @@ print_value (int flags,
if (flags & V850_PCREL)
{
bfd_vma addr = value + memaddr;
+
+ if (flags & V850_INVERSE_PCREL)
+ addr = memaddr - value;
info->print_address_func (addr, info);
}
else if (flags & V850_OPERAND_DISP)