summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-05-28 06:00:20 +0000
committerobrien <obrien@FreeBSD.org>2001-05-28 06:00:20 +0000
commit5d42e8f4c101d7997b1d064941587a20b10b0dab (patch)
tree0c6d85bc56a344625a90893b29eceee468c83f88 /contrib
parent3f328dbf9b7197d9539002c2c390c05dafc553cd (diff)
downloadFreeBSD-src-5d42e8f4c101d7997b1d064941587a20b10b0dab.zip
FreeBSD-src-5d42e8f4c101d7997b1d064941587a20b10b0dab.tar.gz
Return to the vendor's version of this file as in rev 1.4.
(CVS is too stupid to realize we've done this 3 times now...)
Diffstat (limited to 'contrib')
-rw-r--r--contrib/binutils/binutils/nm.c40
1 files changed, 32 insertions, 8 deletions
diff --git a/contrib/binutils/binutils/nm.c b/contrib/binutils/binutils/nm.c
index 038b8c9..499056c 100644
--- a/contrib/binutils/binutils/nm.c
+++ b/contrib/binutils/binutils/nm.c
@@ -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.
@@ -262,7 +262,7 @@ static bfd *lineno_cache_rel_bfd;
static struct option long_options[] =
{
{"debug-syms", no_argument, &print_debug_syms, 1},
- {"demangle", no_argument, &do_demangle, 1},
+ {"demangle", optional_argument, 0, 'C'},
{"dynamic", no_argument, &dynamic, 1},
{"extern-only", no_argument, &external_only, 1},
{"format", required_argument, 0, 'f'},
@@ -299,7 +299,9 @@ usage (stream, status)
-a, --debug-syms Display debugger-only symbols\n\
-A, --print-file-name Print name of the input file before every symbol\n\
-B Same as --format=bsd\n\
- -C, --demangle Decode low-level symbol names into user-level names\n\
+ -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n\
+ The STYLE, if specified, can be `auto' (the default),\n\
+ `gnu', 'lucid', 'arm', 'hp', 'edg' or 'gnu-new-abi'\n\
--no-demangle Do not demangle low-level symbol names\n\
-D, --dynamic Display dynamic symbols instead of normal symbols\n\
--defined-only Display only defined symbols\n\
@@ -321,6 +323,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 +412,8 @@ main (argc, argv)
bfd_init ();
set_default_bfd_target ();
- while ((c = getopt_long (argc, argv, "aABCDef:glnopPrst:uvV", long_options, (int *) 0)) != EOF)
+ while ((c = getopt_long (argc, argv, "aABCDef:glnopPrst:uvVX:",
+ long_options, (int *) 0)) != EOF)
{
switch (c)
{
@@ -425,6 +429,17 @@ main (argc, argv)
break;
case 'C':
do_demangle = 1;
+ if (optarg != NULL)
+ {
+ enum demangling_styles style;
+
+ style = cplus_demangle_name_to_style (optarg);
+ if (style == unknown_demangling)
+ fatal (_("unknown demangling style `%s'"),
+ optarg);
+
+ cplus_demangle_set_style (style);
+ }
break;
case 'D':
dynamic = 1;
@@ -468,6 +483,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;
@@ -1449,13 +1475,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);
OpenPOWER on IntegriCloud