fix seg fault in reloc reading code
[deliverable/binutils-gdb.git] / binutils / nm.c
index fca510caba270e5c00c27ac2e4f3a2313fdf0c4d..3695d1e760f1c59f4ea5c13781c572f8218a7b05 100644 (file)
@@ -1,5 +1,5 @@
 /* nm.c -- Describe symbol table of a rel file.
-   Copyright 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000
+   Copyright 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001
    Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
@@ -321,6 +321,7 @@ usage (stream, status)
       --target=BFDNAME   Specify the target object format as BFDNAME\n\
   -u, --undefined-only   Display only undefined symbols\n\
   -V, --version          Display this program's version number\n\
+  -X 32_64               (ignored)\n\
 \n"));
   list_supported_targets (program_name, stream);
   if (status == 0)
@@ -409,7 +410,7 @@ main (argc, argv)
   bfd_init ();
   set_default_bfd_target ();
 
-  while ((c = getopt_long (argc, argv, "aABCDef:glnopPrst:uvV",
+  while ((c = getopt_long (argc, argv, "aABCDef:glnopPrst:uvVX:",
                           long_options, (int *) 0)) != EOF)
     {
       switch (c)
@@ -480,6 +481,17 @@ main (argc, argv)
        case 'V':
          show_version = 1;
          break;
+       case 'X':
+         /* Ignored for (partial) AIX compatibility.  On AIX, the
+            argument has values 32, 64, or 32_64, and specfies that
+            only 32-bit, only 64-bit, or both kinds of objects should
+            be examined.  The default is 32.  So plain AIX nm on a
+            library archive with both kinds of objects will ignore
+            the 64-bit ones.  For GNU nm, the default is and always
+            has been -X 32_64, and other options are not supported.  */
+         if (strcmp (optarg, "32_64") != 0)
+           fatal (_("Only -X 32_64 is supported"));
+         break;
 
        case OPTION_TARGET:     /* --target */
          target = optarg;
@@ -1461,13 +1473,11 @@ print_symbol_info_bsd (info, abfd)
 {
   if (bfd_is_undefined_symclass (info->type))
     {
-      printf ("%*s",
 #ifdef BFD64
-             16,
+      printf ("%*s", 16, "");
 #else
-             8,
+      printf ("%*s", 8, "");
 #endif
-             "");
     }
   else
     print_value (info->value);
This page took 0.024579 seconds and 4 git commands to generate.