diff options
author | Alan Modra <amodra@gmail.com> | 2012-01-16 08:43:20 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-01-16 08:43:20 +0000 |
commit | ddb1377cc0daa352458911e38a536c9ce33dec85 (patch) | |
tree | a68eaaacfa2e3f87c7d50d554e34c3b9d2b0a8e9 /binutils/nm.c | |
parent | 8a5dcf532efc4f76188250a159e52134687681b1 (diff) | |
download | gdb-ddb1377cc0daa352458911e38a536c9ce33dec85.zip gdb-ddb1377cc0daa352458911e38a536c9ce33dec85.tar.gz gdb-ddb1377cc0daa352458911e38a536c9ce33dec85.tar.bz2 |
PR binutils/13593
* nm.c (OPTION_SIZE_SORT): Define.
(long_options): Don't set no_sort, sort_numerically or
sort_by_size directly.
(main): Instead set the flags here, making them mutually exclusive.
Diffstat (limited to 'binutils/nm.c')
-rw-r--r-- | binutils/nm.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/binutils/nm.c b/binutils/nm.c index 04067b1..27019e19 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -1,6 +1,6 @@ /* nm.c -- Describe symbol table of a rel file. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 + 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -184,7 +184,8 @@ static bfd *lineno_cache_bfd; static bfd *lineno_cache_rel_bfd; #define OPTION_TARGET 200 -#define OPTION_PLUGIN 201 +#define OPTION_PLUGIN (OPTION_TARGET + 1) +#define OPTION_SIZE_SORT (OPTION_PLUGIN + 1) static struct option long_options[] = { @@ -197,8 +198,8 @@ static struct option long_options[] = {"line-numbers", no_argument, 0, 'l'}, {"no-cplus", no_argument, &do_demangle, 0}, /* Linux compatibility. */ {"no-demangle", no_argument, &do_demangle, 0}, - {"no-sort", no_argument, &no_sort, 1}, - {"numeric-sort", no_argument, &sort_numerically, 1}, + {"no-sort", no_argument, 0, 'p'}, + {"numeric-sort", no_argument, 0, 'n'}, {"plugin", required_argument, 0, OPTION_PLUGIN}, {"portability", no_argument, 0, 'P'}, {"print-armap", no_argument, &print_armap, 1}, @@ -206,7 +207,7 @@ static struct option long_options[] = {"print-size", no_argument, 0, 'S'}, {"radix", required_argument, 0, 't'}, {"reverse-sort", no_argument, &reverse_sort, 1}, - {"size-sort", no_argument, &sort_by_size, 1}, + {"size-sort", no_argument, 0, OPTION_SIZE_SORT}, {"special-syms", no_argument, &allow_special_symbols, 1}, {"stats", no_argument, &show_stats, 1}, {"synthetic", no_argument, &show_synthetic, 1}, @@ -1593,10 +1594,19 @@ main (int argc, char **argv) break; case 'n': case 'v': + no_sort = 0; sort_numerically = 1; + sort_by_size = 0; break; case 'p': no_sort = 1; + sort_numerically = 0; + sort_by_size = 0; + break; + case OPTION_SIZE_SORT: + no_sort = 0; + sort_numerically = 0; + sort_by_size = 1; break; case 'P': set_output_format ("posix"); |