summaryrefslogtreecommitdiff
path: root/opcodes/v850-dis.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-04-03 14:42:10 +0000
committerNick Clifton <nickc@redhat.com>2013-04-03 14:42:10 +0000
commit41702d50f7b112ca176a93d79121c2f5a1dc9606 (patch)
tree17cdbf1ea369323f131270af8632bf410339ad0f /opcodes/v850-dis.c
parentcb8af559c12b9a85acb429fed4d59e858574a43c (diff)
downloadbinutils-gdb-41702d50f7b112ca176a93d79121c2f5a1dc9606.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 648846b1644..bf168516d9f 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)