Add vmfunc
[deliverable/binutils-gdb.git] / binutils / nm.c
index 862b2b95ae76ef526a2591f8b4781a8cb4628d69..04067b158130b7cb2caa716e678acd4b6b9c156f 100644 (file)
@@ -164,7 +164,11 @@ static char value_format_32bit[] = "%08lx";
 #if BFD_HOST_64BIT_LONG
 static char value_format_64bit[] = "%016lx";
 #elif BFD_HOST_64BIT_LONG_LONG
+#ifndef __MSVCRT__
 static char value_format_64bit[] = "%016llx";
+#else
+static char value_format_64bit[] = "%016I64x";
+#endif
 #endif
 static int print_width = 0;
 static int print_radix = 16;
@@ -285,7 +289,11 @@ set_print_radix (char *radix)
 #if BFD_HOST_64BIT_LONG
       value_format_64bit[5] = *radix;
 #elif BFD_HOST_64BIT_LONG_LONG
+#ifndef __MSVCRT__
       value_format_64bit[6] = *radix;
+#else
+      value_format_64bit[7] = *radix;
+#endif
 #endif
       other_format[3] = desc_format[3] = *radix;
       break;
@@ -428,6 +436,8 @@ filter_symbols (bfd *abfd, bfd_boolean is_dynamic, void *minisyms,
       else if (external_only)
        keep = ((sym->flags & BSF_GLOBAL) != 0
                || (sym->flags & BSF_WEAK) != 0
+               /* PR binutls/12753: Unique symbols are global too.  */
+               || (sym->flags & BSF_GNU_UNIQUE) != 0
                || bfd_is_und_section (sym->section)
                || bfd_is_com_section (sym->section));
       else
@@ -1093,6 +1103,7 @@ display_rel_file (bfd *abfd, bfd *archive_bfd)
     print_size_symbols (abfd, dynamic, symsizes, symcount, archive_bfd);
 
   free (minisyms);
+  free (symsizes);
 }
 
 static void
@@ -1191,6 +1202,10 @@ display_file (char *filename)
       return FALSE;
     }
 
+  /* If printing line numbers, decompress the debug sections.  */
+  if (line_numbers)
+    file->flags |= BFD_DECOMPRESS;
+
   if (bfd_check_format (file, bfd_archive))
     {
       display_archive (file);
This page took 0.024376 seconds and 4 git commands to generate.