From 7360e63f80782cf34a195eb1c6149760c3da7f14 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 22 Jul 2015 10:26:29 +0930 Subject: [PATCH] readelf display of 0x800...000 addend * readelf.c (dump_relocations): Show MIN_INT addends as negative. --- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 14 ++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index c1314ccb046..2b1f8c4f3c4 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2015-07-22 Alan Modra + + * readelf.c (dump_relocations): Show MIN_INT addends as negative. + 2015-07-20 Alan Modra * doc/Makefile.in: Regenerate. diff --git a/binutils/readelf.c b/binutils/readelf.c index c313db4bc21..a9b9f2dbbd2 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); -- 2.30.2