gas: run the hwcaps-bump tests with 64-bit sparc objects only.
[deliverable/binutils-gdb.git] / binutils / nm.c
index 6d887485cba2c754ec82b8b97039c948fa11de34..d537441d69547d8607c12659ec66d59c03512043 100644 (file)
@@ -161,6 +161,7 @@ static int show_stats = 0;  /* Show statistics.  */
 static int show_synthetic = 0; /* Display synthesized symbols too.  */
 static int line_numbers = 0;   /* Print line numbers for symbols.  */
 static int allow_special_symbols = 0;  /* Allow special symbols.  */
+static int with_symbol_versions = 0; /* Include symbol version information in the output.  */
 
 /* When to print the names of files.  Not mutually exclusive in SYSV format.  */
 static int filename_per_file = 0;      /* Once per file, on its own line.  */
@@ -226,6 +227,7 @@ static struct option long_options[] =
   {"defined-only", no_argument, &defined_only, 1},
   {"undefined-only", no_argument, &undefined_only, 1},
   {"version", no_argument, &show_version, 1},
+  {"with-symbol-versions", no_argument, &with_symbol_versions, 1},
   {0, no_argument, 0, 0}
 };
 \f
@@ -271,6 +273,7 @@ usage (FILE *stream, int status)
   -t, --radix=RADIX      Use RADIX for printing symbol values\n\
       --target=BFDNAME   Specify the target object format as BFDNAME\n\
   -u, --undefined-only   Display only undefined symbols\n\
+      --with-symbol-versions  Display version strings after symbol names\n\
   -X 32_64               (ignored)\n\
   @FILE                  Read options from FILE\n\
   -h, --help             Display this information\n\
@@ -879,6 +882,21 @@ print_symbol (bfd *        abfd,
 
   format->print_symbol_info (&info, abfd);
 
+  if (with_symbol_versions)
+    {
+      const char *  version_string = NULL;
+      bfd_boolean   hidden = FALSE;
+
+      if ((sym->flags & BSF_SYNTHETIC) == 0)
+       version_string = bfd_get_symbol_version_string (abfd, sym, &hidden);
+
+      if (bfd_is_und_section (bfd_get_section (sym)))
+       hidden = TRUE;
+
+      if (version_string && *version_string != '\0')
+       printf (hidden ? "@%s" : "@@%s", version_string);
+    }
+
   if (line_numbers)
     {
       static asymbol **syms;
This page took 0.027341 seconds and 4 git commands to generate.