* dwarf2read.c (dwarf2_objfile_data_key): New.
authorDaniel Jacobowitz <drow@false.org>
Fri, 2 Apr 2004 19:23:05 +0000 (19:23 +0000)
committerDaniel Jacobowitz <drow@false.org>
Fri, 2 Apr 2004 19:23:05 +0000 (19:23 +0000)
(struct dwarf2_per_objfile, dwarf2_per_objfile): New.
(dwarf_info_size, dwarf_abbrev_size, dwarf_line_size)
(dwarf_pubnames_size, dwarf_aranges_size, dwarf_loc_size)
(dwarf_macinfo_size, dwarf_str_size, dwarf_ranges_size)
(dwarf_frame_size, dwarf_eh_frame_size, dwarf_info_buffer)
(dwarf_abbrev_buffer, dwarf_line_buffer, dwarf_str_buffer)
(dwarf_macinfo_buffer, dwarf_ranges_buffer, dwarf_loc_buffer):
Remove variables.
(struct dwarf2_pinfo): Remove per-objfile members.  Update comments.
(DWARF_ABBREV_SIZE, DWARF_LINE_SIZE)
(DWARF_LOC_SIZE, DWARF_MACINFO_SIZE, DWARF_STR_SIZE)
(DWARF_RANGES_SIZE, DWARF_INFO_BUFFER)
(DWARF_ABBREV_BUFFER, DWARF_LINE_BUFFER, DWARF_STR_BUFFER)
(DWARF_MACINFO_BUFFER, DWARF_RANGES_BUFFER, DWARF_LOC_BUFFER):
Remove macros.
(dwarf2_has_info): Take an objfile argument.  Allocate per-objfile
data.
(dwarf2_locate_sections, dwarf2_build_psymtabs)
(dwarf2_build_psymtabs_easy, dwarf2_build_psymtabs_hard)
(skip_one_die, dwarf2_get_pc_bounds, dwarf2_read_abbrevs)
(read_partial_die, read_full_die, read_indirect_string)
(dwarf_decode_line_header, dwarf_decode_macros)
(dwarf2_symbol_mark_computed): Remove use of removed macros.
Update uses of removed variables.
(psymtab_to_symtab_1): Restore per-objfile data pointer.  Remove use
of removed macros.
(_initialize_dwarf2_read): New function.
* symfile.h (dwarf2_has_info): Update prototype.
* coffread.c (coff_symfile_read): Update call to dwarf2_has_info.
* elfread.c (elf_symfile_read): Likewise.

gdb/coffread.c
gdb/elfread.c
gdb/symfile.h

index 056ba1374718edaf9116d962019de6a8887651d2..81e78c5f8927bbcbb9180eb54ef3351b745515e3 100644 (file)
@@ -634,7 +634,7 @@ coff_symfile_read (struct objfile *objfile, int mainline)
                               info->stabsects,
                               info->stabstrsect->filepos, stabstrsize);
     }
-  if (dwarf2_has_info (abfd))
+  if (dwarf2_has_info (objfile))
     {
       /* DWARF2 sections.  */
       dwarf2_build_psymtabs (objfile, mainline);
index 83a186275265ec842d68bf1fcea4f6eed829b2f1..7b13cb98e14ba3a9884b78196c19f78a8f433e83 100644 (file)
@@ -575,7 +575,7 @@ elf_symfile_read (struct objfile *objfile, int mainline)
                                str_sect->filepos,
                                bfd_section_size (abfd, str_sect));
     }
-  if (dwarf2_has_info (abfd))
+  if (dwarf2_has_info (objfile))
     {
       /* DWARF 2 sections */
       dwarf2_build_psymtabs (objfile, mainline);
index baa353e494c30906ee8d78521cbeaaa052d8f672..6b600ea47f79b8aa93293560055ecf10a12fd55b 100644 (file)
@@ -315,7 +315,7 @@ extern void dwarf_build_psymtabs (struct objfile *, int, file_ptr,
 
 /* 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 *);