From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gateway20.websitewelcome.com (gateway20.websitewelcome.com [192.185.46.107]) by sourceware.org (Postfix) with ESMTPS id F358B385E031 for ; Sun, 22 Mar 2020 18:45:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F358B385E031 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tom@tromey.com Received: from cm13.websitewelcome.com (cm13.websitewelcome.com [100.42.49.6]) by gateway20.websitewelcome.com (Postfix) with ESMTP id 036CA400C5FCD for ; Sun, 22 Mar 2020 12:29:52 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id G5bFjQ118VQh0G5bFjeUW2; Sun, 22 Mar 2020 13:45:29 -0500 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7j9iKwQn6cBFej1LKypk10HZaLYCDlwpl0tD399dK8k=; b=uhaGHH+JBZOiZ7P2gBNmfgJ6yo sQ1f3nz04sURa0HPNUL85l5ggbvE4cmE3p31ieUm5pT+YsEH1LvgEAm7ZCvwWNJ5QK3/R6LKerwFF QOXaI6R3kR4GZ//iCzJtxCizg; Received: from 97-118-117-21.hlrn.qwest.net ([97.118.117.21]:48304 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1jG5bF-000LNS-FQ; Sun, 22 Mar 2020 12:45:29 -0600 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 19/22] Change two more functions to be methods on die_info Date: Sun, 22 Mar 2020 12:45:20 -0600 Message-Id: <20200322184523.28959-20-tom@tromey.com> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20200322184523.28959-1-tom@tromey.com> References: <20200322184523.28959-1-tom@tromey.com> X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.118.117.21 X-Source-L: No X-Exim-ID: 1jG5bF-000LNS-FQ X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-118-117-21.hlrn.qwest.net (bapiya.Home) [97.118.117.21]:48304 X-Source-Auth: tom+tromey.com X-Email-Count: 20 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-23.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, JMQ_SPF_NEUTRAL, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, RCVD_IN_SBL_CSS, SPF_HELO_PASS, SPF_NEUTRAL, TXREP, URIBL_CSS, URIBL_CSS_A autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2020 18:45:33 -0000 This changes lookup_addr_base and lookup_ranges_base to be methods on die_info. gdb/ChangeLog 2020-03-22 Tom Tromey * dwarf2/die.h (struct die_info) : New methods. * dwarf2/read.c (lookup_addr_base): Move to die.h. (lookup_ranges_base): Likewise. (read_cutu_die_from_dwo, read_full_die_1): Update. --- gdb/ChangeLog | 8 ++++++++ gdb/dwarf2/die.h | 28 ++++++++++++++++++++++++++++ gdb/dwarf2/read.c | 34 +++------------------------------- 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/gdb/dwarf2/die.h b/gdb/dwarf2/die.h index 3a265b7df03..5673ae261ac 100644 --- a/gdb/dwarf2/die.h +++ b/gdb/dwarf2/die.h @@ -33,6 +33,34 @@ struct die_info return NULL; } + /* Return the address base of the compile unit, which, if exists, is + stored either at the attribute DW_AT_GNU_addr_base, or + DW_AT_addr_base. */ + gdb::optional addr_base () + { + struct attribute *attr; + attr = attr (DW_AT_addr_base); + if (attr == nullptr) + attr = attr (DW_AT_GNU_addr_base); + if (attr == nullptr) + return gdb::optional (); + return DW_UNSND (attr); + } + + /* Return range lists base of the compile unit, which, if exists, is + stored either at the attribute DW_AT_rnglists_base or + DW_AT_GNU_ranges_base. */ + ULONGEST ranges_base () + { + struct attribute *attr; + attr = attr (DW_AT_rnglists_base); + if (attr == nullptr) + attr = attr (DW_AT_GNU_ranges_base); + if (attr == nullptr) + return 0; + return DW_UNSND (attr); + } + /* DWARF-2 tag for this DIE. */ ENUM_BITFIELD(dwarf_tag) tag : 16; diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 9d744ab0825..9e7152d03e6 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -6386,34 +6386,6 @@ lookup_signatured_type (struct dwarf2_cu *cu, ULONGEST sig) } } -/* Return the address base of the compile unit, which, if exists, is stored - either at the attribute DW_AT_GNU_addr_base, or DW_AT_addr_base. */ -static gdb::optional -lookup_addr_base (struct die_info *comp_unit_die) -{ - struct attribute *attr; - attr = comp_unit_die->attr (DW_AT_addr_base); - if (attr == nullptr) - attr = comp_unit_die->attr (DW_AT_GNU_addr_base); - if (attr == nullptr) - return gdb::optional (); - return DW_UNSND (attr); -} - -/* Return range lists base of the compile unit, which, if exists, is stored - either at the attribute DW_AT_rnglists_base or DW_AT_GNU_ranges_base. */ -static ULONGEST -lookup_ranges_base (struct die_info *comp_unit_die) -{ - struct attribute *attr; - attr = comp_unit_die->attr (DW_AT_rnglists_base); - if (attr == nullptr) - attr = comp_unit_die->attr (DW_AT_GNU_ranges_base); - if (attr == nullptr) - return 0; - return DW_UNSND (attr); -} - /* Low level DIE reading support. */ /* Initialize a die_reader_specs struct from a dwarf2_cu struct. */ @@ -6502,12 +6474,12 @@ read_cutu_die_from_dwo (struct dwarf2_per_cu_data *this_cu, ranges = dwarf2_attr (stub_comp_unit_die, DW_AT_ranges, cu); comp_dir = dwarf2_attr (stub_comp_unit_die, DW_AT_comp_dir, cu); - cu->addr_base = lookup_addr_base (stub_comp_unit_die); + cu->addr_base = stub_comp_unit_die->addr_base (); /* There should be a DW_AT_rnglists_base (DW_AT_GNU_ranges_base) attribute here (if needed). We need the value before we can process DW_AT_ranges. */ - cu->ranges_base = lookup_ranges_base (stub_comp_unit_die); + cu->ranges_base = stub_comp_unit_die->ranges_base (); } else if (stub_comp_dir != NULL) { @@ -17538,7 +17510,7 @@ read_full_die_1 (const struct die_reader_specs *reader, if (attr != nullptr) cu->str_offsets_base = DW_UNSND (attr); - auto maybe_addr_base = lookup_addr_base(die); + auto maybe_addr_base = die->addr_base (); if (maybe_addr_base.has_value ()) cu->addr_base = *maybe_addr_base; for (int index : indexes_that_need_reprocess) -- 2.17.2