Index: coffread.c =================================================================== RCS file: /cvs/src/src/gdb/coffread.c,v retrieving revision 1.54 diff -u -p -r1.54 coffread.c --- coffread.c 2 Apr 2004 19:23:05 -0000 1.54 +++ coffread.c 7 Apr 2004 21:36:08 -0000 @@ -610,6 +610,15 @@ coff_symfile_read (struct objfile *objfi /* Free the installed minimal symbol data. */ do_cleanups (cleanup_minimal_symbols); + /* If we are reinitializing, or if we have not loaded syms yet, + empty the psymtab. "mainline" is cleared so the *_read_psymtab + functions do not all re-initialize the psymtab. */ + if (mainline) + { + init_psymbol_list (objfile, 0); + mainline = 0; + } + bfd_map_over_sections (abfd, coff_locate_sections, (void *) info); if (info->stabsects) @@ -639,6 +648,8 @@ coff_symfile_read (struct objfile *objfi /* DWARF2 sections. */ dwarf2_build_psymtabs (objfile, mainline); } + + dwarf2_build_frame_info (objfile); do_cleanups (back_to); } Index: dbxread.c =================================================================== RCS file: /cvs/src/src/gdb/dbxread.c,v retrieving revision 1.64 diff -u -p -r1.64 dbxread.c --- dbxread.c 14 Feb 2004 15:46:32 -0000 1.64 +++ dbxread.c 7 Apr 2004 21:36:09 -0000 @@ -3392,8 +3392,7 @@ coffstab_build_psymtabs (struct objfile } /* Scan and build partial symbols for an ELF symbol file. - This ELF file has already been processed to get its minimal symbols, - and any DWARF symbols that were in it. + This ELF file has already been processed to get its minimal symbols. This routine is the equivalent of dbx_symfile_init and dbx_symfile_read rolled into one.