Index: elfread.c =================================================================== RCS file: /cvs/src/src/gdb/elfread.c,v retrieving revision 1.55 diff -u -p -r1.55 elfread.c --- elfread.c 21 Feb 2006 20:38:48 -0000 1.55 +++ elfread.c 31 Aug 2006 10:50:17 -0000 @@ -211,9 +211,14 @@ elf_symtab_read (struct objfile *objfile /* If it is a nonstripped executable, do not enter dynamic symbols, as the dynamic symbol table is usually a subset - of the main symbol table. */ - if (dynamic && !stripped) + of the main symbol table. + The Linux ELF symbol versionning requires that the versioned + static symbols are suffixed with (@)@VERSION, thus the + entries we got from the static symtab for these symbols have + suffixed names. The entries in the dynamic symtab don't have + the suffix (version info is stored in .gnu_version section). */ + if (dynamic && !stripped && !((elf_symbol_type *) sym)->version) continue; if (sym->flags & BSF_FILE) {