diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-25 19:38:14 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-25 19:38:14 +0000 |
commit | 231db70b7234728e7e01728fd157cdd3c3ea43d3 (patch) | |
tree | f5cc4ae901d02d6e2c79ca639d1a6177b34372ab /gdb/objfiles.c | |
parent | 8fecf9379c80739265c03672cc7829f95842afbd (diff) | |
download | gdb-231db70b7234728e7e01728fd157cdd3c3ea43d3.tar.gz |
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 db01f424588..151588b132c 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); } |