2001-08-25 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 25 Aug 2001 15:16:39 +0000 (15:16 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 25 Aug 2001 15:16:39 +0000 (15:16 +0000)
* nm.c (print_width): New.
(display_rel_file): Set `print_width' according to
bfd_sprintf_vma.
(print_symbol_info_bsd): Check `print_width' instead of BFD64.

binutils/ChangeLog
binutils/nm.c

index 50d83444763e382411443a3b0f6f026cb14f854a..f186ff6f1df6a45aa0221fc920f978c4bb1560f9 100644 (file)
@@ -1,3 +1,10 @@
+2001-08-25  H.J. Lu  <hjl@gnu.org>
+
+       * nm.c (print_width): New.
+       (display_rel_file): Set `print_width' according to
+       bfd_sprintf_vma.
+       (print_symbol_info_bsd): Check `print_width' instead of BFD64.
+
 2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
 
        * objcopy.c (use_alt_mach_code): New variable.
index 3c5ca54f3f573448334a76e0dd8f2edb5984ebfe..c422e9bf8e4fc73c87fa6ff280ec5aef00204b88 100644 (file)
@@ -245,6 +245,11 @@ static char value_format[] = "%016lx";
 /* We don't use value_format for this case.  */
 #endif
 #endif
+#ifdef BFD64
+static int print_width = 16;
+#else
+static int print_width = 8;
+#endif
 static int print_radix = 16;
 /* Print formats for printing stab info.  */
 static char other_format[] = "%02x";
@@ -939,6 +944,7 @@ display_rel_file (abfd, archive_bfd)
   PTR minisyms;
   unsigned int size;
   struct size_sym *symsizes;
+  char buf[30];
 
   if (! dynamic)
     {
@@ -959,6 +965,9 @@ display_rel_file (abfd, archive_bfd)
       return;
     }
 
+  bfd_sprintf_vma (abfd, buf, (bfd_vma) -1);
+  print_width = strlen (buf);
+
   /* Discard the symbols we don't want to print.
      It's OK to do this in place; we'll free the storage anyway
      (after printing).  */
@@ -1475,9 +1484,8 @@ print_symbol_info_bsd (info, abfd)
 {
   if (bfd_is_undefined_symclass (info->type))
     {
-#ifdef BFD64
-      printf ("        ");
-#endif
+      if (print_width == 16)
+       printf ("        ");
       printf ("        ");
     }
   else