aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2013-08-26 18:43:40 +0000
committerDoug Evans <dje@google.com>2013-08-26 18:43:40 +0000
commit779bd270818aeb064c2d218ad8f80a3b608f95c9 (patch)
treefb185930bd90ba56daf0ab93bd714834a0cf58fa /gdb/symfile.c
parent52e260a34ef6e013980890bee0d5435cfc14e9c4 (diff)
downloadgdb-779bd270818aeb064c2d218ad8f80a3b608f95c9.zip
gdb-779bd270818aeb064c2d218ad8f80a3b608f95c9.tar.gz
gdb-779bd270818aeb064c2d218ad8f80a3b608f95c9.tar.bz2
PR symtab/15885
* dwarf2read.c (dw2_dump): Print some minimal information indicating .gdb_index is in use. * symfile.c (reread_symbols): Reset objfile->sf. testsuite/ * gdb.dwarf2/Makefile.in (EXECUTABLES): Add gdb-index. (clean): rm -f *.gdb-index *.with-index. * gdb.dwarf2/gdb-index.exp: New testcase.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r--gdb/symfile.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d1e024f..b95721e 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2504,6 +2504,12 @@ reread_symbols (void)
empty. We could use obstack_specify_allocation but
gdb_obstack.h specifies the alloc/dealloc functions. */
obstack_init (&objfile->objfile_obstack);
+
+ /* Reset the sym_fns pointer. The ELF reader can change it
+ based on whether .gdb_index is present, and we need it to
+ start over. PR symtab/15885 */
+ objfile->sf = find_sym_fns (objfile->obfd);
+
build_objfile_section_table (objfile);
terminate_minimal_symbol_table (objfile);