reader.install ();
}
+/* see mdebugread.h. */
+
+void
+mipsmdebug_build_psymtabs (struct objfile *objfile,
+ const struct ecoff_debug_swap *swap,
+ struct ecoff_debug_info *info)
+{
+ bfd *abfd = objfile->obfd.get ();
+
+ minimal_symbol_reader reader (objfile);
+
+ if (!(*swap->read_debug_info) (abfd, nullptr,
+ info))
+ error (_("Error reading ECOFF debugging information: %s"),
+ bfd_errmsg (bfd_get_error ()));
+
+ mdebug_build_psymtabs (reader, objfile, swap, info);
+
+ reader.install ();
+}
+
void _initialize_mdebugread ();
void
_initialize_mdebugread ()
const struct ecoff_debug_swap *,
asection *);
+/* Read ECOFF debugging information from a BFD section. This is
+ called from mipsread.c. It parses the section into a
+ ecoff_debug_info struct, and then lets the rest of the file handle
+ it as normal. */
+extern void mipsmdebug_build_psymtabs (struct objfile *,
+ const struct ecoff_debug_swap *,
+ struct ecoff_debug_info *);
+
#endif /* GDB_MDEBUGREAD_H */
{
bfd *abfd = objfile->obfd.get ();
- minimal_symbol_reader reader (objfile);
-
/* Now that the executable file is positioned at symbol table,
process it and define symbols accordingly. */
- if (!((*ecoff_backend (abfd)->debug_swap.read_debug_info)
- (abfd, NULL, &ecoff_data (abfd)->debug_info)))
- error (_("Error reading symbol table: %s"), bfd_errmsg (bfd_get_error ()));
-
- mdebug_build_psymtabs (reader, objfile, &ecoff_backend (abfd)->debug_swap,
- &ecoff_data (abfd)->debug_info);
+ mipsmdebug_build_psymtabs (objfile, &ecoff_backend (abfd)->debug_swap,
+ &ecoff_data (abfd)->debug_info);
/* Add alpha coff dynamic symbols. */
+ minimal_symbol_reader reader (objfile);
+
read_alphacoff_dynamic_symtab (reader, objfile);
/* Install any minimal symbols that have been collected as the current