diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-06-18 15:46:38 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-06-18 15:46:38 +0000 |
commit | 31d99776c73d6fca13163da59c852b0fa99f89b8 (patch) | |
tree | 4dace09d40a34a22c8a02adcc688ae8c991973bb /gdb/dbxread.c | |
parent | d856f2ddfa3d037987610ecc0edbf75f31296971 (diff) | |
download | gdb-31d99776c73d6fca13163da59c852b0fa99f89b8.zip gdb-31d99776c73d6fca13163da59c852b0fa99f89b8.tar.gz gdb-31d99776c73d6fca13163da59c852b0fa99f89b8.tar.bz2 |
* coffread.c (coff_sym_fns): Add default_symfile_segments.
* dbxread.c (start_psymtab): Check HAVE_ELF.
(aout_sym_fns): Likewise.
* elfread.c (elf_symfile_segments): New.
(elf_sym_fns): Add elf_symfile_segments.
* mipsread.c (ecoff_sym_fns): Add default_symfile_segments.
* remote.c (get_offsets): Use symfile_map_offsets_to_segments.
Skip if there is no symfile_objfile. Handle TextSeg and DataSeg.
* somread.c (som_sym_fns): Use default_symfile_segments.
* symfile.c (find_sym_fns): Take a BFD and return the sym_fns.
(init_objfile_sect_indices): Call symfile_find_segment_sections.
(default_symfile_segments): New function.
(syms_from_objfile): Update call to find_sym_fns.
(symfile_get_segment_data, free_symfile_segment_data): New.
(symfile_map_offsets_to_segments): New.
(symfile_find_segment_sections): New.
* symfile.h (struct symfile_segment_data): New.
(struct sym_fns): Add sym_segments.
(default_symfile_segments, symfile_get_segment_data)
(free_symfile_segment_data): New prototypes.
(symfile_map_offsets_to_segments): Likewise.
* xcoffread.c (xcoff_sym_fns): Add default_symfile_segments.
* Makefile.in (COMMON_OBS): Remove elfread.o.
(elf_internal_h): New.
(elfread.o): Update.
* configure.ac: Add elfread.o to COMMON_OBS if bfd/elf.o was
compiled.
* config.in, configure: Regenerated.
* NEWS: Mention qOffsets changes.
* gdb.texinfo (General Query Packets): Document qOffsets changes.
* Makefile.def: Add dependency from configure-gdb to all-bfd.
* Makefile.in: Regenerated.
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r-- | gdb/dbxread.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c index 702e315..bba9995 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -2148,11 +2148,13 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow, STRING_OFFSET (result) = string_table_offset; FILE_STRING_OFFSET (result) = file_string_table_offset; +#ifdef HAVE_ELF /* If we're handling an ELF file, drag some section-relocation info for this source file out of the ELF symbol table, to compensate for Sun brain death. This replaces the section_offsets in this psymtab, if successful. */ elfstab_offset_sections (objfile, result); +#endif /* Deduce the source language from the filename for this psymtab. */ psymtab_language = deduce_language_from_filename (filename); @@ -3505,6 +3507,8 @@ static struct sym_fns aout_sym_fns = dbx_symfile_read, /* sym_read: read a symbol file into symtab */ dbx_symfile_finish, /* sym_finish: finished with file, cleanup */ default_symfile_offsets, /* sym_offsets: parse user's offsets to internal form */ + default_symfile_segments, /* sym_segments: Get segment information from + a file. */ NULL /* next: pointer to next struct sym_fns */ }; |