summaryrefslogtreecommitdiff
path: root/binutils/objdump.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-14 02:39:57 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-05-14 02:39:57 +0000
commit69732e34293d7bec79dde69c0de61fb9e492fe3a (patch)
treeb6d53571379d66a6b8f7b2baf218945b0ba5b542 /binutils/objdump.c
parent2c389e624df4860941cea53454b29e79cca8dc03 (diff)
downloadbinutils-redhat-69732e34293d7bec79dde69c0de61fb9e492fe3a.tar.gz
Print addend as signed in objdump
binutils/ * objdump.c (disassemble_bytes): Print addend as signed. (dump_reloc_set): Likewise. gas/testsuite/ * gas/all/fwdexp.d: Expect addend as signed. * gas/alpha/elf-reloc-1.d: Likewise. * gas/i386/mixed-mode-reloc64.d: Likewise. * gas/i386/reloc64.d: Likewise. * gas/i386/ilp32/mixed-mode-reloc64.d: Expect addend as signed. * gas/i386/ilp32/reloc64.d: Likewise. * gas/ia64/pcrel.d: Likewise. * gas/mips/branch-misc-2-64.d: Likewise. * gas/mips/branch-misc-2pic-64.d: Likewise. * gas/mips/branch-misc-4-64.d: Likewise. * gas/mips/ldstla-n64-sym32.d: Likewise. * gas/mips/micromips@branch-misc-2-64.d: Likewise. * gas/mips/micromips@branch-misc-2pic-64.d: Likewise. * gas/mips/micromips@branch-misc-4-64.d: Likewise. * gas/mips/mips16-hilo-n32.d: Likewise. * gas/ppc/astest.d: Likewise. * gas/ppc/astest2.d: Likewise. * gas/ppc/astest2_64.d: Likewise. * gas/ppc/astest64.d: Likewise. * gas/ppc/test1elf32.d: Likewise. * gas/ppc/test1elf64.d: Likewise. * gas/sparc/reloc64.d: Likewise.
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r--binutils/objdump.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 0cad73b32c..b22bf8bde6 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1840,8 +1840,15 @@ disassemble_bytes (struct disassemble_info * inf,
if (q->addend)
{
- printf ("+0x");
- objdump_print_value (q->addend, inf, TRUE);
+ bfd_signed_vma addend = q->addend;
+ if (addend < 0)
+ {
+ printf ("-0x");
+ addend = -addend;
+ }
+ else
+ printf ("+0x");
+ objdump_print_value (addend, inf, TRUE);
}
printf ("\n");
@@ -3017,8 +3024,15 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount)
if (q->addend)
{
- printf ("+0x");
- bfd_printf_vma (abfd, q->addend);
+ bfd_signed_vma addend = q->addend;
+ if (addend < 0)
+ {
+ printf ("-0x");
+ addend = -addend;
+ }
+ else
+ printf ("+0x");
+ bfd_printf_vma (abfd, addend);
}
if (addend2)
{