last_source_file = savestring (name, strlen (name));
current_source_start_addr = start_addr;
current_source_end_addr = start_addr + size;
-
- if (current_objfile->ei.entry_point >= current_source_start_addr &&
- current_objfile->ei.entry_point < current_source_end_addr)
- {
- current_objfile->ei.deprecated_entry_file_lowpc = current_source_start_addr;
- current_objfile->ei.deprecated_entry_file_highpc = current_source_end_addr;
- }
}
/* Finish the symbol definitions for one main source file,
{
/* Allocate struct to keep track of stab reading. */
objfile->sym_stab_info = (struct dbx_symfile_info *)
- xmmalloc (objfile->md, sizeof (struct dbx_symfile_info));
+ xmalloc (sizeof (struct dbx_symfile_info));
memset (objfile->sym_stab_info, 0,
sizeof (struct dbx_symfile_info));
/* Allocate struct to keep track of the symfile */
- objfile->sym_private = xmmalloc (objfile->md,
- sizeof (struct coff_symfile_info));
+ objfile->sym_private = xmalloc (sizeof (struct coff_symfile_info));
memset (objfile->sym_private, 0, sizeof (struct coff_symfile_info));
/* 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 it. */
+ if (mainline)
+ {
+ init_psymbol_list (objfile, 0);
+ mainline = 0;
+ }
+
bfd_map_over_sections (abfd, coff_locate_sections, (void *) info);
if (info->stabsects)
dwarf2_build_psymtabs (objfile, mainline);
}
+ dwarf2_build_frame_info (objfile);
+
do_cleanups (back_to);
}