diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-25 19:38:16 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-25 19:38:16 +0000 |
commit | 3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5 (patch) | |
tree | a8194a4f1ae393f42eecc1335448ed05121eaaa8 /gdb/objfiles.c | |
parent | 1ae0d051e5e31ea120a9f96d916c8cd9e505e4fc (diff) | |
download | gdb-3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5.zip gdb-3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5.tar.gz gdb-3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5.tar.bz2 |
gdb/
* 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.
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r-- | gdb/objfiles.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c index db01f42..151588b 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -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); } |