* elfread.c (elf_symfile_read): Protect dwarf2_initialize_objfile by
	!objfile_has_partial_symbols.  New comment.
	* objfiles.c (objfile_has_partial_symbols): Call HAS_SYMBOLS if
	SYM_READ_PSYMBOLS is not present. Extend the comment.
	* symfile.h (struct sym_fns): Extend the sym_read_psymbols comment.

gdb/testsuite/
	* gdb.base/gdbindex-stabs-dwarf.c: New file.
	* gdb.base/gdbindex-stabs.c: New file.
	* gdb.base/gdbindex-stabs.exp: New file.
This commit is contained in:
Jan Kratochvil
2011-04-25 19:38:16 +00:00
parent 1ae0d051e5
commit 3e03848b6c
8 changed files with 115 additions and 10 deletions

View File

@@ -906,11 +906,15 @@ objfile_has_partial_symbols (struct objfile *objfile)
{
if (!objfile->sf)
return 0;
/* If we have not read psymbols, but we have a function capable of
reading them, then that is an indication that they are in fact
available. */
if ((objfile->flags & OBJF_PSYMTABS_READ) == 0)
return objfile->sf->sym_read_psymbols != NULL;
/* If we have not read psymbols, but we have a function capable of reading
them, then that is an indication that they are in fact available. Without
this function the symbols may have been already read in but they also may
not be present in this objfile. */
if ((objfile->flags & OBJF_PSYMTABS_READ) == 0
&& objfile->sf->sym_read_psymbols != NULL)
return 1;
return objfile->sf->qf->has_symbols (objfile);
}