/* Definitions for reading symbol files into GDB.
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#if !defined (SYMFILE_H)
#define SYMFILE_H
/* This file requires that you first include "bfd.h". */
+#include "symtab.h"
/* Opaque declarations. */
struct section_table;
extern void add_symtab_fns (struct sym_fns *);
-extern void init_entry_point_info (struct objfile *);
-
extern void syms_from_objfile (struct objfile *,
struct section_addr_info *,
struct section_offsets *, int, int, int);
extern struct objfile *symbol_file_add (char *, int,
struct section_addr_info *, int, int);
+extern struct objfile *symbol_file_add_from_bfd (bfd *, int,
+ struct section_addr_info *,
+ int, int);
+
/* Create a new section_addr_info, with room for NUM_SECTIONS. */
extern struct section_addr_info *alloc_section_addr_info (size_t
num_sections);
+/* Return a freshly allocated copy of ADDRS. The section names, if
+ any, are also freshly allocated copies of those in ADDRS. */
+extern struct section_addr_info *(copy_section_addr_info
+ (struct section_addr_info *addrs));
+
/* Build (allocate and populate) a section_addr_info struct from an
existing section table. */
extern char *obsavestring (const char *, int, struct obstack *);
/* Concatenate strings S1, S2 and S3; return the new string. Space is
- found in the symbol_obstack. */
+ found in the OBSTACKP */
extern char *obconcat (struct obstack *obstackp, const char *, const char *,
const char *);
/* From symfile.c */
-extern CORE_ADDR entry_point_address (void);
-
extern struct partial_symtab *allocate_psymtab (char *, struct objfile *);
extern void discard_psymtab (struct partial_symtab *);
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 int dwarf2_has_info (struct objfile *);
extern void dwarf2_build_psymtabs (struct objfile *, int);
extern void dwarf2_build_frame_info (struct objfile *);