From 7476373706efd64d8b1b90dec73e7c39f393f621 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 21 Feb 2006 20:38:48 +0000 Subject: [PATCH] * elfread.c (elf_symtab_read): Skip symbols which BFD considers special. --- gdb/ChangeLog | 5 +++++ gdb/elfread.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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 -- 2.30.2