aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.h
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-02-03 14:13:16 +0000
committerTristan Gingold <gingold@adacore.com>2010-02-03 14:13:16 +0000
commitac8035ab9e1b8839f04ede4ff7f96e9c86c896cb (patch)
treea5110cf99082f1ba824bacf96099dffc478bd9e5 /gdb/symfile.h
parentbe52b7566d327cea0584ccded6271dd1e1439dd1 (diff)
downloadgdb-ac8035ab9e1b8839f04ede4ff7f96e9c86c896cb.zip
gdb-ac8035ab9e1b8839f04ede4ff7f96e9c86c896cb.tar.gz
gdb-ac8035ab9e1b8839f04ede4ff7f96e9c86c896cb.tar.bz2
2010-02-03 Tristan Gingold <gingold@adacore.com>
* symfile.h (struct sym_fns): Add sym_relocate field. (default_symfile_relocate): New prototype. (symfile_relocate_debug_section): First argument is now an objfile. * symfile.c (default_symfile_relocate): Rename from symfile_relocate_debug_section, first argument is now an objfile. (symfile_relocate_debug_section): New function. * coffread.c (coff_sym_fns): Set sym_relocate field. * somread.c (som_sym_fns): Ditto. * mipsread.c (ecoff_sym_fns): Ditto. * machoread.c (macho_sym_fns): Ditto. * elfread.c (elf_sym_fns): Ditto. * dwarf2read.c (dwarf2_read_section): Ditto. * xcoffread.c (xcoff_sym_fns): Ditto. * dbxread.c (aout_sym_fns): Ditto. (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section. (elfstab_build_psymtabs): Ditto.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r--gdb/symfile.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h
index efa069e..302c29f 100644
--- a/gdb/symfile.h
+++ b/gdb/symfile.h
@@ -163,8 +163,15 @@ struct sym_fns
/* This function should read the linetable from the objfile when
the line table cannot be read while processing the debugging
information. */
+
void (*sym_read_linetable) (void);
+ /* Relocate the contents of a debug section SECTP. The
+ contents are stored in BUF if it is non-NULL, or returned in a
+ malloc'd buffer otherwise. */
+
+ bfd_byte *(*sym_relocate) (struct objfile *, asection *sectp, bfd_byte *buf);
+
/* Finds the next struct sym_fns. They are allocated and
initialized in whatever module implements the functions pointed
to; an initializer calls add_symtab_fns to add them to the global
@@ -195,6 +202,12 @@ extern void default_symfile_offsets (struct objfile *objfile,
extern struct symfile_segment_data *default_symfile_segments (bfd *abfd);
+/* The default version of sym_fns.sym_relocate for readers that don't
+ do anything special. */
+
+extern bfd_byte *default_symfile_relocate (struct objfile *objfile,
+ asection *sectp, bfd_byte *buf);
+
extern void extend_psymbol_list (struct psymbol_allocation_list *,
struct objfile *);
@@ -374,8 +387,8 @@ extern void symbol_file_clear (int from_tty);
/* Default overlay update function. */
extern void simple_overlay_update (struct obj_section *);
-extern bfd_byte *symfile_relocate_debug_section (bfd *abfd, asection *sectp,
- bfd_byte * buf);
+extern bfd_byte *symfile_relocate_debug_section (struct objfile *, asection *,
+ bfd_byte *);
extern int symfile_map_offsets_to_segments (bfd *,
struct symfile_segment_data *,