eu-size already prints according to the given radix for sysv format,
but not for the bsd format. Fix that.

Reported-by: Ulrich Drepper <drep...@redhat.com>
Signed-off-by: Mark Wielaard <m...@klomp.org>
---
 src/ChangeLog | 4 ++++
 src/size.c    | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 8c72e7d1..83fe19eb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2020-05-14  Mark Wielaard  <m...@klomp.org>
+
+       * size.c (show_bsd): Set printf format based on radix.
+
 2020-05-09  Mark Wielaard  <m...@klomp.org>
 
        * elflint.c (process_elf_file): Error out if ebl_openbackend fails.
diff --git a/src/size.c b/src/size.c
index a25d4471..e49b64b8 100644
--- a/src/size.c
+++ b/src/size.c
@@ -545,8 +545,11 @@ show_bsd (Elf *elf, const char *prefix, const char *fname,
        datasize += shdr->sh_size;
     }
 
-  printf ("%*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRId64 " %*"
-         PRIx64 " %s",
+  printf (radix == radix_decimal
+          ? "%*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRIx64 " 
%s"
+         : radix == radix_hex
+         ? "%#*" PRIx64 " %#*" PRIx64 " %#*" PRIx64 " %*" PRId64 " %*" PRIx64 
" %s"
+         : "%#*" PRIo64 " %#*" PRIo64 " %#*" PRIo64 " %*" PRId64 " %*" PRIx64 
" %s",
          ddigits - 2, textsize,
          ddigits - 2, datasize,
          ddigits - 2, bsssize,
-- 
2.20.1

Reply via email to