This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa/dwarf] Use objfile_data mechanism for per-objfile data
Daniel Jacobowitz <drow@false.org> writes:
> On Thu, Apr 01, 2004 at 05:40:01PM -0500, Jim Blandy wrote:
> > If they sit there for very long, I will have neglected my duties. But
> > you've been working steadily on this for quite a while, so short of
> > some disaster for you, I'm confident it'll get done. So if it would
> > produce interference with your other patches, leave it for later.
>
> May as well get it right the first time, since I will need to merge
> this to the branch anyway for the renamed variables. This better?
> I got the most blatantly overlong lines, but not all of them; I'll add
> re-indenting this file thoroughly to my list of things to do when I'm
> done churning it. I also intend to move a lot of functions around for
> more logical grouping.
Glorious. If tested, please commit.
> 2004-04-01 Daniel Jacobowitz <drow@mvista.com>
>
> * dwarf2read.c (dwarf2_objfile_data_key): New.
> (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.