Line 1... |
Line 1... |
/* nm.c -- Describe symbol table of a rel file.
|
/* nm.c -- Describe symbol table of a rel file.
|
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
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.
|
Free Software Foundation, Inc.
|
|
|
This file is part of GNU Binutils.
|
This file is part of GNU Binutils.
|
|
|
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
Line 182... |
Line 182... |
/* Used to cache the line numbers for a BFD. */
|
/* Used to cache the line numbers for a BFD. */
|
static bfd *lineno_cache_bfd;
|
static bfd *lineno_cache_bfd;
|
static bfd *lineno_cache_rel_bfd;
|
static bfd *lineno_cache_rel_bfd;
|
|
|
#define OPTION_TARGET 200
|
#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[] =
|
static struct option long_options[] =
|
{
|
{
|
{"debug-syms", no_argument, &print_debug_syms, 1},
|
{"debug-syms", no_argument, &print_debug_syms, 1},
|
{"demangle", optional_argument, 0, 'C'},
|
{"demangle", optional_argument, 0, 'C'},
|
Line 195... |
Line 196... |
{"format", required_argument, 0, 'f'},
|
{"format", required_argument, 0, 'f'},
|
{"help", no_argument, 0, 'h'},
|
{"help", no_argument, 0, 'h'},
|
{"line-numbers", no_argument, 0, 'l'},
|
{"line-numbers", no_argument, 0, 'l'},
|
{"no-cplus", no_argument, &do_demangle, 0}, /* Linux compatibility. */
|
{"no-cplus", no_argument, &do_demangle, 0}, /* Linux compatibility. */
|
{"no-demangle", no_argument, &do_demangle, 0},
|
{"no-demangle", no_argument, &do_demangle, 0},
|
{"no-sort", no_argument, &no_sort, 1},
|
{"no-sort", no_argument, 0, 'p'},
|
{"numeric-sort", no_argument, &sort_numerically, 1},
|
{"numeric-sort", no_argument, 0, 'n'},
|
{"plugin", required_argument, 0, OPTION_PLUGIN},
|
{"plugin", required_argument, 0, OPTION_PLUGIN},
|
{"portability", no_argument, 0, 'P'},
|
{"portability", no_argument, 0, 'P'},
|
{"print-armap", no_argument, &print_armap, 1},
|
{"print-armap", no_argument, &print_armap, 1},
|
{"print-file-name", no_argument, 0, 'o'},
|
{"print-file-name", no_argument, 0, 'o'},
|
{"print-size", no_argument, 0, 'S'},
|
{"print-size", no_argument, 0, 'S'},
|
{"radix", required_argument, 0, 't'},
|
{"radix", required_argument, 0, 't'},
|
{"reverse-sort", no_argument, &reverse_sort, 1},
|
{"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},
|
{"special-syms", no_argument, &allow_special_symbols, 1},
|
{"stats", no_argument, &show_stats, 1},
|
{"stats", no_argument, &show_stats, 1},
|
{"synthetic", no_argument, &show_synthetic, 1},
|
{"synthetic", no_argument, &show_synthetic, 1},
|
{"target", required_argument, 0, OPTION_TARGET},
|
{"target", required_argument, 0, OPTION_TARGET},
|
{"defined-only", no_argument, &defined_only, 1},
|
{"defined-only", no_argument, &defined_only, 1},
|
Line 1591... |
Line 1592... |
case 'l':
|
case 'l':
|
line_numbers = 1;
|
line_numbers = 1;
|
break;
|
break;
|
case 'n':
|
case 'n':
|
case 'v':
|
case 'v':
|
|
no_sort = 0;
|
sort_numerically = 1;
|
sort_numerically = 1;
|
|
sort_by_size = 0;
|
break;
|
break;
|
case 'p':
|
case 'p':
|
no_sort = 1;
|
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;
|
break;
|
case 'P':
|
case 'P':
|
set_output_format ("posix");
|
set_output_format ("posix");
|
break;
|
break;
|
case 'r':
|
case 'r':
|