From: Daniel Jacobowitz Date: Tue, 21 Feb 2006 20:38:48 +0000 (+0000) Subject: * elfread.c (elf_symtab_read): Skip symbols which BFD considers X-Git-Tag: gdb_6_5-branchpoint~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7476373706efd64d8b1b90dec73e7c39f393f621;p=thirdparty%2Fbinutils-gdb.git * elfread.c (elf_symtab_read): Skip symbols which BFD considers special. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 514026f51f7..4fd194cf644 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2006-02-21 Daniel Jacobowitz + + * elfread.c (elf_symtab_read): Skip symbols which BFD considers + special. + 2006-02-21 Andrew Stubbs * defs.h (directory_switch): Add prototype. diff --git a/gdb/elfread.c b/gdb/elfread.c index 575b088092e..7b4d6d74b4f 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