This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] readelf display of 0x800...000 addend
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 22 Jul 2015 15:16:33 -0000
- Subject: [binutils-gdb] readelf display of 0x800...000 addend
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7360e63f80782cf34a195eb1c6149760c3da7f14
commit 7360e63f80782cf34a195eb1c6149760c3da7f14
Author: Alan Modra <amodra@gmail.com>
Date: Wed Jul 22 10:26:29 2015 +0930
readelf display of 0x800...000 addend
* readelf.c (dump_relocations): Show MIN_INT addends as negative.
Diff:
---
binutils/ChangeLog | 4 ++++
binutils/readelf.c | 14 ++++----------
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c1314cc..2b1f8c4 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-22 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (dump_relocations): Show MIN_INT addends as negative.
+
2015-07-20 Alan Modra <amodra@gmail.com>
* doc/Makefile.in: Regenerate.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index c313db4..a9b9f2d 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1608,12 +1608,9 @@ dump_relocations (FILE * file,
if (is_rela)
{
- bfd_signed_vma off = rels[i].r_addend;
+ bfd_vma off = rels[i].r_addend;
- /* PR 17531: file: 2e63226f. */
- if (off == ((bfd_signed_vma) 1) << ((sizeof (bfd_signed_vma) * 8) - 1))
- printf (" + %" BFD_VMA_FMT "x", off);
- else if (off < 0)
+ if ((bfd_signed_vma) off < 0)
printf (" - %" BFD_VMA_FMT "x", - off);
else
printf (" + %" BFD_VMA_FMT "x", off);
@@ -1622,13 +1619,10 @@ dump_relocations (FILE * file,
}
else if (is_rela)
{
- bfd_signed_vma off = rels[i].r_addend;
+ bfd_vma off = rels[i].r_addend;
printf ("%*c", is_32bit_elf ? 12 : 20, ' ');
- /* PR 17531: file: 2e63226f. */
- if (off == ((bfd_signed_vma) 1) << ((sizeof (bfd_signed_vma) * 8) - 1))
- printf ("%" BFD_VMA_FMT "x", off);
- else if (off < 0)
+ if ((bfd_signed_vma) off < 0)
printf ("-%" BFD_VMA_FMT "x", - off);
else
printf ("%" BFD_VMA_FMT "x", off);