+extern int get_section_index (struct objfile *, char *);
+
+/* Utility functions for overlay sections: */
+extern enum overlay_debugging_state {
+ ovly_off,
+ ovly_on,
+ ovly_auto
+} overlay_debugging;
+extern int overlay_cache_invalid;
+
+/* return the "mapped" overlay section containing the PC */
+extern asection *find_pc_mapped_section (CORE_ADDR);
+
+/* return any overlay section containing the PC (even in its LMA region) */
+extern asection *find_pc_overlay (CORE_ADDR);
+
+/* return true if the section is an overlay */
+extern int section_is_overlay (asection *);
+
+/* return true if the overlay section is currently "mapped" */
+extern int section_is_mapped (asection *);
+
+/* return true if pc belongs to section's VMA */
+extern CORE_ADDR pc_in_mapped_range (CORE_ADDR, asection *);
+
+/* return true if pc belongs to section's LMA */
+extern CORE_ADDR pc_in_unmapped_range (CORE_ADDR, asection *);
+
+/* map an address from a section's LMA to its VMA */
+extern CORE_ADDR overlay_mapped_address (CORE_ADDR, asection *);
+
+/* map an address from a section's VMA to its LMA */
+extern CORE_ADDR overlay_unmapped_address (CORE_ADDR, asection *);
+
+/* convert an address in an overlay section (force into VMA range) */
+extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *);
+
+/* Load symbols from a file. */
+extern void symbol_file_add_main (char *args, int from_tty);
+
+/* Clear GDB symbol tables. */
+extern void symbol_file_clear (int from_tty);
+
+extern bfd_byte *symfile_relocate_debug_section (bfd *abfd, asection *sectp,
+ bfd_byte *buf);
+
+/* From dwarfread.c */
+
+extern void
+dwarf_build_psymtabs (struct objfile *, int, file_ptr, unsigned int,
+ file_ptr, unsigned int);
+
+/* From dwarf2read.c */
+
+extern int dwarf2_has_info (bfd * abfd);
+
+extern void dwarf2_build_psymtabs (struct objfile *, int);
+extern void dwarf2_build_frame_info (struct objfile *);