aboutsummaryrefslogtreecommitdiff
path: root/binutils/objdump.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-10-08 14:54:04 +0000
committerNick Clifton <nickc@redhat.com>2004-10-08 14:54:04 +0000
commit3c9458e9534287bda2ab643e6c39b0008595a493 (patch)
tree0698a23a10b1400abd7941a58f30901382dbeb49 /binutils/objdump.c
parentd2b2c203e1ff2daf8cfeab0906084f9389e66246 (diff)
downloadgdb-3c9458e9534287bda2ab643e6c39b0008595a493.zip
gdb-3c9458e9534287bda2ab643e6c39b0008595a493.tar.gz
gdb-3c9458e9534287bda2ab643e6c39b0008595a493.tar.bz2
Implement a new BFD API function: bfd_is_target_special_symbol. Use this in nm
and objdump to skip the displaying of ARM Mapping symbols unless specifically requested.
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r--binutils/objdump.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c
index e56bf36..73af429 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -102,6 +102,7 @@ static bfd_vma start_address = (bfd_vma) -1; /* --start-address */
static bfd_vma stop_address = (bfd_vma) -1; /* --stop-address */
static int dump_debugging; /* --debugging */
static int dump_debugging_tags; /* --debugging-tags */
+static int dump_special_syms = 0; /* --special-syms */
static bfd_vma adjust_section_vma = 0; /* --adjust-vma */
static int file_start_context = 0; /* --file-start-context */
@@ -217,6 +218,7 @@ usage (FILE *stream, int status)
--prefix-addresses Print complete address alongside disassembly\n\
--[no-]show-raw-insn Display hex alongside symbolic disassembly\n\
--adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n\
+ --special-syms Include special symbols in symbol dumps\n\
\n"));
list_supported_targets (program_name, stream);
list_supported_architectures (program_name, stream);
@@ -268,6 +270,7 @@ static struct option long_options[]=
{"section-headers", no_argument, NULL, 'h'},
{"show-raw-insn", no_argument, &show_raw_insn, 1},
{"source", no_argument, NULL, 'S'},
+ {"special-syms", no_argument, &dump_special_syms, 1},
{"include", required_argument, NULL, 'I'},
{"stabs", no_argument, NULL, 'G'},
{"start-address", required_argument, NULL, OPTION_START_ADDRESS},
@@ -2283,6 +2286,10 @@ dump_symbols (bfd *abfd ATTRIBUTE_UNUSED, bfd_boolean dynamic)
printf (_("could not determine the type of the %ld'th symbol"),
count);
+ else if (! dump_special_syms
+ && bfd_is_target_special_symbol (cur_bfd, *current))
+ continue;
+
else
{
const char *name = (*current)->name;