static void som_symfile_read (struct objfile *objfile, int symfile_flags) { bfd *abfd = objfile->obfd; struct cleanup *back_to; init_minimal_symbol_collection (); back_to = make_cleanup_discard_minimal_symbols (); /* Process the normal SOM symbol table first. This reads in the DNTT and string table, but doesn't actually scan the DNTT. It does scan the linker symbol table and thus build up a "minimal symbol table". */ som_symtab_read (abfd, objfile, objfile->section_offsets); /* Install any minimal symbols that have been collected as the current minimal symbols for this objfile. Further symbol-reading is done incrementally, file-by-file, in a step known as "psymtab-to-symtab" expansion. hp-symtab-read.c contains the code to do the actual DNTT scanning and symtab building. */ install_minimal_symbols (objfile); do_cleanups (back_to); /* Now read information from the stabs debug sections. This is emitted by gcc. */ stabsect_build_psymtabs (objfile, "$GDB_SYMBOLS$", "$GDB_STRINGS$", "$TEXT$"); }
static void som_symfile_read (struct objfile *objfile, int mainline) { bfd *abfd = objfile->obfd; struct cleanup *back_to; do_pxdb (symfile_bfd_open (objfile->name)); init_minimal_symbol_collection (); back_to = make_cleanup_discard_minimal_symbols (); /* Read in the import list and the export list. Currently the export list isn't used; the import list is used in hp-symtab-read.c to handle static vars declared in other shared libraries. */ init_import_symbols (objfile); #if 0 /* Export symbols not used today 1997-08-05 */ init_export_symbols (objfile); #else objfile->export_list = NULL; objfile->export_list_size = 0; #endif /* Process the normal SOM symbol table first. This reads in the DNTT and string table, but doesn't actually scan the DNTT. It does scan the linker symbol table and thus build up a "minimal symbol table". */ som_symtab_read (abfd, objfile, objfile->section_offsets); /* Install any minimal symbols that have been collected as the current minimal symbols for this objfile. Further symbol-reading is done incrementally, file-by-file, in a step known as "psymtab-to-symtab" expansion. hp-symtab-read.c contains the code to do the actual DNTT scanning and symtab building. */ install_minimal_symbols (objfile); do_cleanups (back_to); /* Now read information from the stabs debug sections. This is a no-op for SOM. Perhaps it is intended for some kind of mixed STABS/SOM situation? */ stabsect_build_psymtabs (objfile, mainline, "$GDB_SYMBOLS$", "$GDB_STRINGS$", "$TEXT$"); /* Now read the native debug information. This builds the psymtab. This used to be done via a scan of the DNTT, but is now done via the PXDB-built quick-lookup tables together with a scan of the GNTT. See hp-psymtab-read.c. */ hpread_build_psymtabs (objfile, mainline); /* Force hppa-tdep.c to re-read the unwind descriptors. */ objfile->obj_private = NULL; }
static void nlm_symfile_read (struct objfile *objfile, int mainline) { bfd *abfd = objfile->obfd; struct cleanup *back_to; CORE_ADDR offset; struct symbol *mainsym; init_minimal_symbol_collection (); back_to = make_cleanup_discard_minimal_symbols (); /* FIXME, should take a section_offsets param, not just an offset. */ offset = ANOFFSET (objfile->section_offsets, 0); /* Process the NLM export records, which become the bfd's canonical symbol table. */ nlm_symtab_read (abfd, offset, objfile); /* Install any minimal symbols that have been collected as the current minimal symbols for this objfile. */ install_minimal_symbols (objfile); do_cleanups (back_to); stabsect_build_psymtabs (objfile, mainline, ".stab", ".stabstr", ".text"); mainsym = lookup_symbol (main_name (), NULL, VAR_DOMAIN, NULL, NULL); if (mainsym && SYMBOL_CLASS (mainsym) == LOC_BLOCK) { objfile->ei.main_func_lowpc = BLOCK_START (SYMBOL_BLOCK_VALUE (mainsym)); objfile->ei.main_func_highpc = BLOCK_END (SYMBOL_BLOCK_VALUE (mainsym)); } /* FIXME: We could locate and read the optional native debugging format here and add the symbols to the minimal symbol table. */ }