*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / elfread.c
index 575b088092e1a319f6192a27e5fae3e1c92da21b..646b314a1ca281415687945021ce3a8520c6bc12 100644 (file)
@@ -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.
+   Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+   2001, 2002, 2003, 2004, 2005, 2006, 2007 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
@@ -278,7 +284,7 @@ elf_symtab_read (struct objfile *objfile, int dynamic,
            }
          else if (sym->section->flags & SEC_CODE)
            {
-             if (sym->flags & BSF_GLOBAL)
+             if (sym->flags & (BSF_GLOBAL | BSF_WEAK))
                {
                  ms_type = mst_text;
                }
This page took 0.025578 seconds and 4 git commands to generate.