aboutsummaryrefslogtreecommitdiff
path: root/gdb/elfread.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-04-25 19:38:16 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-04-25 19:38:16 +0000
commit3e03848b6ca5ca5a8e36d4a8be1682c0c220a6d5 (patch)
treea8194a4f1ae393f42eecc1335448ed05121eaaa8 /gdb/elfread.c
parent1ae0d051e5e31ea120a9f96d916c8cd9e505e4fc (diff)
downloadgdb-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/elfread.c')
-rw-r--r--gdb/elfread.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c
index f691b8f..d3050cc 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -1396,7 +1396,12 @@ elf_symfile_read (struct objfile *objfile, int symfile_flags)
if (dwarf2_has_info (objfile))
{
- if (dwarf2_initialize_objfile (objfile))
+ /* elf_sym_fns_gdb_index cannot handle simultaneous non-DWARF debug
+ information present in OBJFILE. If there is such debug info present
+ never use .gdb_index. */
+
+ if (!objfile_has_partial_symbols (objfile)
+ && dwarf2_initialize_objfile (objfile))
objfile->sf = &elf_sym_fns_gdb_index;
else
{