/* Definitions for reading symbol files into GDB.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009
+ Free Software Foundation, Inc.
This file is part of GDB.
#include "symtab.h"
/* Opaque declarations. */
-struct section_table;
+struct target_section;
struct objfile;
struct obj_section;
struct obstack;
extern int free_named_symtabs (char *);
-extern void fill_in_vptr_fieldno (struct type *);
-
extern void add_symtab_fns (struct sym_fns *);
extern void syms_from_objfile (struct objfile *,
existing section table. */
extern struct section_addr_info
- *build_section_addr_info_from_section_table (const struct section_table
+ *build_section_addr_info_from_section_table (const struct target_section
*start,
- const struct section_table
+ const struct target_section
*end);
/* Free all memory allocated by
/* Variables */
+/* If non-zero, gdb will notify the user when it is loading symbols
+ from a file. This is almost always what users will want to have happen;
+ but for programs with lots of dynamically linked libraries, the output
+ can be more noise than signal. */
+
+extern int print_symbol_loading;
+
/* If non-zero, shared library symbols will be added automatically
when the inferior is created, new libraries are loaded, or when
attaching to the inferior. This is almost always what users will
/* From symfile.c */
+extern void set_initial_language (void);
+
extern struct partial_symtab *allocate_psymtab (char *, struct objfile *);
extern void discard_psymtab (struct partial_symtab *);
extern int overlay_cache_invalid;
/* Return the "mapped" overlay section containing the PC. */
-extern asection *find_pc_mapped_section (CORE_ADDR);
+extern struct obj_section *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);
+extern struct obj_section *find_pc_overlay (CORE_ADDR);
/* Return true if the section is an overlay. */
-extern int section_is_overlay (asection *);
+extern int section_is_overlay (struct obj_section *);
/* Return true if the overlay section is currently "mapped". */
-extern int section_is_mapped (asection *);
+extern int section_is_mapped (struct obj_section *);
/* Return true if pc belongs to section's VMA. */
-extern CORE_ADDR pc_in_mapped_range (CORE_ADDR, asection *);
+extern CORE_ADDR pc_in_mapped_range (CORE_ADDR, struct obj_section *);
/* Return true if pc belongs to section's LMA. */
-extern CORE_ADDR pc_in_unmapped_range (CORE_ADDR, asection *);
+extern CORE_ADDR pc_in_unmapped_range (CORE_ADDR, struct obj_section *);
/* Map an address from a section's LMA to its VMA. */
-extern CORE_ADDR overlay_mapped_address (CORE_ADDR, asection *);
+extern CORE_ADDR overlay_mapped_address (CORE_ADDR, struct obj_section *);
/* Map an address from a section's VMA to its LMA. */
-extern CORE_ADDR overlay_unmapped_address (CORE_ADDR, asection *);
+extern CORE_ADDR overlay_unmapped_address (CORE_ADDR, struct obj_section *);
/* Convert an address in an overlay section (force into VMA range). */
-extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *);
+extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *);
/* Load symbols from a file. */
extern void symbol_file_add_main (char *args, int from_tty);
extern void dwarf2_build_psymtabs (struct objfile *, int);
extern void dwarf2_build_frame_info (struct objfile *);
+void dwarf2_free_objfile (struct objfile *);
+
/* From mdebugread.c */
/* Hack to force structures to exist before use in parameter list. */