From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15768 invoked by alias); 25 Apr 2012 14:39:09 -0000 Received: (qmail 15630 invoked by uid 22791); 25 Apr 2012 14:39:06 -0000 X-SWARE-Spam-Status: No, hits=-5.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-gy0-f169.google.com (HELO mail-gy0-f169.google.com) (209.85.160.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 25 Apr 2012 14:38:49 +0000 Received: by ghrr18 with SMTP id r18so190630ghr.0 for ; Wed, 25 Apr 2012 07:38:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding:x-system-of-record :x-gm-message-state; bh=NGvR/EJjLWckysFEvuI39lmZZgamXTEYCvYOwGXV27M=; b=LH+L+OCwnjssoH5Z3EBCI7kN8K+ndb0teZaBIKvcozq39w6yxieYzBE78rcKXZjDcs o2qY9l1HyS7odVrxc+HDnKPi79uMEH5KVF4cWrqZLyiupRUBi5zokJLVCTKdsg8wT/2o A31xc181PU06dWEJXTw7V2QM1pJV7isVwx0/H6Z0NqM640/d0jowx42Is5JvO3O3Ru7B mcFhWR8VPBaYjZVddwVnOAHlJSgzX/o+pquV2+SXxRWIqslfc3775UcuVX8UXHto4Vd5 +jT4EjFwVTf4dzKyAMQjc65i0/6FGuX2zJKE24oJx+k3yAALioMA4472Wkh+vxICKWiM R6hg== Received: by 10.182.52.104 with SMTP id s8mr3844594obo.59.1335364728351; Wed, 25 Apr 2012 07:38:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.52.104 with SMTP id s8mr3844579obo.59.1335364728230; Wed, 25 Apr 2012 07:38:48 -0700 (PDT) Received: by 10.182.73.169 with HTTP; Wed, 25 Apr 2012 07:38:47 -0700 (PDT) In-Reply-To: <20120418185511.0AED52461AF@ruffy.mtv.corp.google.com> References: <20120418185511.0AED52461AF@ruffy.mtv.corp.google.com> Date: Wed, 25 Apr 2012 14:58:00 -0000 Message-ID: Subject: Re: [RFA 2/3] Initial Fission support, rewrite DIE reading From: Doug Evans To: gdb-patches@sourceware.org Cc: ccoutant@google.com, saugustine@google.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-System-Of-Record: true X-Gm-Message-State: ALoCoQlTUWb2wyeKu+NjVtTLAv8Pl/7DheniTiXkmUt2G7JliGQkp9DC0bIkYvJcuOWUQ88hGvEwHGRBAotm88g2/IV3Tt0KZ4GNQAnQRohbjhKXTptyg0q1Tq95U3Bwph6yAlgL5vIkoMazxt6GZH/xwYZ40/+HfQ== X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-04/txt/msg00861.txt.bz2 On Wed, Apr 18, 2012 at 11:55 AM, Doug Evans wrote: > Hi. > > This is the second patch in the Fission series and an updated > version of what I posted earlier: > http://sourceware.org/ml/gdb-patches/2012-04/msg00337.html > > It requires patch 1/3, and the cleanup improvements, but (simply for refe= rence > sake) after removing the few Fission references it could go in as is > (if one wanted). > > Regression tested on amd64-linux, with/without dwarf4 and .gdb_index. > > Ok to commit? > > [Blech, one last review shows I didn't address the FIXME Tom suggested > I just remove. =A0I'll remove it prior to checkin.] > > > 2012-04-18 =A0Doug Evans =A0 > > =A0 =A0 =A0 =A0* dwarf2read.c (dwarf2_per_objfile): Replace members > =A0 =A0 =A0 =A0debug_info_type_hash and debug_types_type_hash with die_ty= pe_hash. > =A0 =A0 =A0 =A0(die_reader_specs): New member "die_section". =A0Temporari= ly make > =A0 =A0 =A0 =A0member "buffer" non-const, pending constifying all info_pt= r uses. > =A0 =A0 =A0 =A0(die_reader_func_ftype): New typedef. > =A0 =A0 =A0 =A0(dw2_get_file_names_reader): New function. > =A0 =A0 =A0 =A0(dw2_get_file_names): Rewrite. > =A0 =A0 =A0 =A0(read_and_check_type_unit_head): Rename arg type_offset to > =A0 =A0 =A0 =A0type_offset_in_tu. > =A0 =A0 =A0 =A0(create_all_type_units): Improve debugging message. > =A0 =A0 =A0 =A0Improve dummy type unit check. > =A0 =A0 =A0 =A0(init_cu_die_reader): New arg "section". =A0All callers up= dated. > =A0 =A0 =A0 =A0(init_and_read_dies_worker): New function. > =A0 =A0 =A0 =A0(init_cu_and_read_dies, init_tu_and_read_dies): New functi= ons. > =A0 =A0 =A0 =A0(init_cutu_and_read_dies_no_follow): New function. > =A0 =A0 =A0 =A0(init_cutu_and_read_dies_simple): New function. > =A0 =A0 =A0 =A0(process_psymtab_comp_unit_reader): New function. > =A0 =A0 =A0 =A0(process_psymtab_comp_unit): Delete args section, > =A0 =A0 =A0 =A0is_debug_types_section. =A0Rewrite. =A0All callers updated. > =A0 =A0 =A0 =A0(process_psymtab_type_unit): Renamed from process_type_com= p_unit. > =A0 =A0 =A0 =A0All callers updated. =A0Rewrite. > =A0 =A0 =A0 =A0(load_partial_comp_unit_reader): New function. > =A0 =A0 =A0 =A0(load_partial_comp_unit): Rewrite. > =A0 =A0 =A0 =A0(skip_children): New arg reader. =A0Delete args buffer, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(skip_one_die): New arg reader. =A0Delete args buffer, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(locate_pdi_sibling): New arg reader. =A0Delete args buffe= r, abfd, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(load_full_comp_unit_reader): New function. > =A0 =A0 =A0 =A0(load_full_comp_unit): Rewrite. > =A0 =A0 =A0 =A0(read_comp_unit): Delete. > =A0 =A0 =A0 =A0(read_die_and_children_1): Delete, contents moved ... > =A0 =A0 =A0 =A0(read_die_and_children): ... here. > =A0 =A0 =A0 =A0(dwarf2_read_abbrevs): New arg abbrev_section. =A0All call= ers updated. > =A0 =A0 =A0 =A0(load_partial_dies): New arg reader. =A0Delete args abfd, = buffer, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(read_partial_die): New arg reader. =A0Delete args abfd, b= uffer, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(find_partial_die): Rewrite load_all_dies support. > =A0 =A0 =A0 =A0(read_attribute_value): New arg reader. =A0Delete args abf= d, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(read_attribute): New arg reader. =A0Delete args abfd, cu. > =A0 =A0 =A0 =A0All callers updated. > =A0 =A0 =A0 =A0(load_full_type_unit): Add assert. > =A0 =A0 =A0 =A0(read_signatured_type_reader): New function. > =A0 =A0 =A0 =A0(read_signatured_type): Rewrite. > =A0 =A0 =A0 =A0(free_stack_comp_unit): Remove call to age_cached_comp_uni= ts. > =A0 =A0 =A0 =A0(free_one_cached_comp_unit): Change target_cu arg to targe= t_per_cu. > =A0 =A0 =A0 =A0All callers updated. =A0Set per_cu->cu =3D NULL after free= ing it. > =A0 =A0 =A0 =A0(dwarf2_per_cu_offset_and_type): Renamed from dwarf2_offse= t_and_type. > =A0 =A0 =A0 =A0(per_cu_offset_and_type_hash): Renamed from offset_and_typ= e_hash. > =A0 =A0 =A0 =A0(per_cu_offset_and_type_eq): Renamed from offset_and_type_= eq. > =A0 =A0 =A0 =A0(set_die_type): Update. > =A0 =A0 =A0 =A0(get_die_type_at_offset): Update. > =A0 =A0 =A0 =A0(read_file_scope): Call prepare_one_comp_unit. > =A0 =A0 =A0 =A0(read_type_unit_scope): Ditto. > =A0 =A0 =A0 =A0(prepare_one_comp_unit): Set producer if present. Hi. Just a friendly ping.