aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-02-21 20:38:48 +0000
committerDaniel Jacobowitz <drow@false.org>2006-02-21 20:38:48 +0000
commit7476373706efd64d8b1b90dec73e7c39f393f621 (patch)
tree19e7908c969183f872a4f812f20035f404489f92
parent13d35ae5ce3671e55dbb4b2bd8edd7344f0bd3d9 (diff)
downloadgdb-7476373706efd64d8b1b90dec73e7c39f393f621.zip
gdb-7476373706efd64d8b1b90dec73e7c39f393f621.tar.gz
gdb-7476373706efd64d8b1b90dec73e7c39f393f621.tar.bz2
* elfread.c (elf_symtab_read): Skip symbols which BFD considers
special.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/elfread.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 514026f..4fd194c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elfread.c (elf_symtab_read): Skip symbols which BFD considers
+ special.
+
2006-02-21 Andrew Stubbs <andrew.stubbs@st.com>
* defs.h (directory_switch): Add prototype.
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 575b088..7b4d6d7 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -1,7 +1,7 @@
/* Read ELF (Executable and Linking Format) object files for GDB.
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Fred Fish at Cygnus Support.
@@ -174,6 +174,12 @@ elf_symtab_read (struct objfile *objfile, int dynamic,
continue;
}
+ /* Skip "special" symbols, e.g. ARM mapping symbols. These are
+ symbols which do not correspond to objects in the symbol table,
+ but have some other target-specific meaning. */
+ if (bfd_is_target_special_symbol (objfile->obfd, sym))
+ continue;
+
offset = ANOFFSET (objfile->section_offsets, sym->section->index);
if (dynamic
&& sym->section == &bfd_und_section