+ /* Hook for information for use by the symbol reader (currently used
+ for information shared by sym_init and sym_read). It is
+ typically a pointer to malloc'd memory. The symbol reader's finish
+ function is responsible for freeing the memory thusly allocated. */
+ /* NOTE: cagney/2004-10-23: This has been replaced by per-objfile
+ data points implemented using "data" and "num_data" below. For
+ an example of how to use this replacement, see "objfile_data"
+ in "mips-tdep.c". */
+
+ void *deprecated_sym_private;
+
+ /* Hook for target-architecture-specific information. This must
+ point to memory allocated on one of the obstacks in this objfile,
+ so that it gets freed automatically when reading a new object
+ file. */
+
+ void *deprecated_obj_private;
+
+ /* Per objfile data-pointers required by other GDB modules. */
+ /* FIXME: kettenis/20030711: This mechanism could replace
+ deprecated_sym_stab_info, deprecated_sym_private and
+ deprecated_obj_private entirely. */
+
+ void **data;
+ unsigned num_data;
+
+ /* Set of relocation offsets to apply to each section.
+ Currently on the objfile_obstack (which makes no sense, but I'm
+ not sure it's harming anything).
+
+ These offsets indicate that all symbols (including partial and
+ minimal symbols) which have been read have been relocated by this
+ much. Symbols which are yet to be read need to be relocated by
+ it. */
+
+ struct section_offsets *section_offsets;
+ int num_sections;
+
+ /* Indexes in the section_offsets array. These are initialized by the
+ *_symfile_offsets() family of functions (som_symfile_offsets,
+ xcoff_symfile_offsets, default_symfile_offsets). In theory they
+ should correspond to the section indexes used by bfd for the
+ current objfile. The exception to this for the time being is the
+ SOM version. */
+
+ int sect_index_text;
+ int sect_index_data;
+ int sect_index_bss;
+ int sect_index_rodata;
+
+ /* These pointers are used to locate the section table, which
+ among other things, is used to map pc addresses into sections.
+ SECTIONS points to the first entry in the table, and
+ SECTIONS_END points to the first location past the last entry
+ in the table. Currently the table is stored on the
+ objfile_obstack (which makes no sense, but I'm not sure it's
+ harming anything). */
+
+ struct obj_section
+ *sections, *sections_end;
+
+ /* Imported symbols */
+ /* FIXME: ezannoni 2004-02-10: This is just SOM (HP) specific (see
+ somread.c). It should not pollute generic objfiles. */
+ ImportEntry *import_list;
+ int import_list_size;
+
+ /* Exported symbols */
+ /* FIXME: ezannoni 2004-02-10: This is just SOM (HP) specific (see
+ somread.c). It should not pollute generic objfiles. */
+ ExportEntry *export_list;
+ int export_list_size;
+
+ /* Link to objfile that contains the debug symbols for this one.
+ One is loaded if this file has an debug link to an existing
+ debug file with the right checksum */
+ struct objfile *separate_debug_objfile;
+
+ /* If this is a separate debug object, this is used as a link to the
+ actual executable objfile. */
+ struct objfile *separate_debug_objfile_backlink;
+
+ /* Place to stash various statistics about this objfile */
+ OBJSTATS;
+
+ /* A symtab that the C++ code uses to stash special symbols
+ associated to namespaces. */
+
+ /* FIXME/carlton-2003-06-27: Delete this in a few years once
+ "possible namespace symbols" go away. */
+ struct symtab *cp_namespace_symtab;
+ };