- /* Set of relocation offsets to apply to each section.
- The table is indexed by the_bfd_section->index, thus it is generally
- as large as the number of sections in the binary.
- The table is stored on the objfile_obstack.
-
- 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. The table is stored on the objfile_obstack.
- There is no particular order to the sections in this table, and it
- only contains sections we care about (e.g. non-empty, SEC_ALLOC). */
-
- struct obj_section *sections, *sections_end;
-
- /* GDB allows to have debug symbols in separate object files. This is
- used by .gnu_debuglink, ELF build id note and Mach-O OSO.
- Although this is a tree structure, GDB only support one level
- (ie a separate debug for a separate debug is not supported). Note that
- separate debug object are in the main chain and therefore will be
- visited by ALL_OBJFILES & co iterators. Separate debug objfile always
- has a non-nul separate_debug_objfile_backlink. */
-
- /* Link to the first separate debug object, if any. */
- 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;
-
- /* If this is a separate debug object, this is a link to the next one
- for the same executable objfile. */
- struct objfile *separate_debug_objfile_link;
-
- /* Place to stash various statistics about this objfile. */
- OBJSTATS;
-
- /* A linked list of symbols created when reading template types or
- function templates. These symbols are not stored in any symbol
- table, so we have to keep them here to relocate them
- properly. */
- struct symbol *template_symbols;
- };