From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6277 invoked by alias); 12 Apr 2004 21:14:17 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 6101 invoked from network); 12 Apr 2004 21:13:59 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 12 Apr 2004 21:13:59 -0000 Received: from drow by nevyn.them.org with local (Exim 4.31 #1 (Debian)) id 1BD8kg-0000WQ-QX; Mon, 12 Apr 2004 17:13:58 -0400 Date: Mon, 12 Apr 2004 21:14:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com, jimb@redhat.com, ezannoni@redhat.com Subject: Re: [RFA/dwarf] Partial DIE support for specifications Message-ID: <20040412211358.GB1900@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com, jimb@redhat.com, ezannoni@redhat.com References: <20040402204733.GA16725@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040402204733.GA16725@nevyn.them.org> User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-04/txt/msg00264.txt.bz2 Ping. On Fri, Apr 02, 2004 at 03:47:33PM -0500, Daniel Jacobowitz wrote: > 2004-04-02 Daniel Jacobowitz > > * dwarf2read.c: Include "hashtab.h". > (struct dwarf2_cu): Add partial_dies, comp_unit_obstack, > has_namespace_info. > (struct partial_die_info): Add comments. Use bitfields to reduce > memory footprint. Add scope, scope_set, has_specification, > spec_offset, die_parent, die_child, and die_sibling. > (peek_die_abbrev): Add prototype. > (partial_read_comp_unit_head): New function, broken out from > dwarf2_build_psymtabs_hard. > (dwarf2_build_psymtabs_hard): Remove unused variable abbrev_ptr. > Use partial_read_comp_unit_head. Initialize the CU and > comp_unit_obstack. Update calls to read_partial_die and > scan_partial_symbols. Use free_stack_comp_unit and > load_partial_dies. > (scan_partial_symbols): Change PDI to a pointer. Use the child and > sibling pointers to walk partial DIEs. Call fixup_partial_die. > Update calls to helper functions. Remove NAMESPACE argument. > (partial_die_parent_scope, partial_die_full_name): New functions. > (add_partial_symbol): Remove namespace argument. Update call to > pdi_needs_namespace. Use partial_die_full_name. Handle > DW_TAG_namespace. Check has_namespace_info flag. > (pdi_needs_namespace): Remove NAMESPACE argument. Just check the > tag. Handle namespaces. > (add_partial_namespace, add_partial_enumeration): Simplify. > (guess_structure_name): New function, derived from > add_partial_structure. > (add_partial_structure): Remove. > (determine_class_name): Update comment. > (dwarf2_read_abbrevs): Set has_namespace_info flag. > (is_type_tag_for_partial, load_partial_dies): New functions. > (read_partial_die): Pass abbrev and abbrev_len as arguments. > Record specifications instead of following them immediately. > (find_partial_die_in_comp_unit, find_partial_die) > (fixup_partial_die, free_stack_comp_unit) > (hashtab_obstack_allocate, dummy_obstack_deallocate) > (partial_die_hash, partial_die_eq): New functions. > * Makefile.in (hashtab_h): Define. > (dwarf2read.o): Update dependencies. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer