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 7B34D385E018 for ; Sun, 22 Mar 2020 18:45:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7B34D385E018 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 cm16.websitewelcome.com (cm16.websitewelcome.com [100.42.49.19]) by gateway20.websitewelcome.com (Postfix) with ESMTP id 6607F400C4895 for ; Sun, 22 Mar 2020 12:29:48 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id G5bCjWkk58vkBG5bCjNGQz; Sun, 22 Mar 2020 13:45:26 -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=P9dh4Q4J4t74opcCLl02pFM/N+W/4DZVnbAZ/35rCcM=; b=TrbQV4Ob9FpJhyocGlMBEnMJRc amPvM71FWgBIHEOtA3O3tRT9GDylpVJM30enSBDNh5sQEUxJGmzFRO4xhSiDjANyTl3LOPfEGy9lA 74dZLVNkPzSoyMsC7KbN3IiUR; 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 1jG5bB-000LNS-S2; Sun, 22 Mar 2020 12:45:25 -0600 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 03/22] Change dwarf_decode_macro_bytes calling convention Date: Sun, 22 Mar 2020 12:45:04 -0600 Message-Id: <20200322184523.28959-4-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: 1jG5bB-000LNS-S2 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: 4 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-20.7 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:27 -0000 This changes dwarf_decode_macro_bytes to accept a buildsym_compunit rather than a dwarf2_cu. This enables some subsequent changes; and also makes the function accept a "more specific" parameter. gdb/ChangeLog 2020-03-22 Tom Tromey * dwarf2/read.c (macro_start_file): Change "cu" parameter to "builder". (dwarf_decode_macro_bytes): Likewise. Add dwarf2_per_objfile parameter. (dwarf_decode_macros): Update. --- gdb/ChangeLog | 8 ++++++++ gdb/dwarf2/read.c | 23 +++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 23b3fab1be5..1410dd48a2f 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -23090,7 +23090,7 @@ dwarf_alloc_die (struct dwarf2_cu *cu, int num_attrs) /* Macro support. */ static struct macro_source_file * -macro_start_file (struct dwarf2_cu *cu, +macro_start_file (buildsym_compunit *builder, int file, int line, struct macro_source_file *current_file, struct line_header *lh) @@ -23102,7 +23102,7 @@ macro_start_file (struct dwarf2_cu *cu, { /* Note: We don't create a macro table for this compilation unit at all until we actually get a filename. */ - struct macro_table *macro_table = cu->get_builder ()->get_macro_table (); + struct macro_table *macro_table = builder->get_macro_table (); /* If we have no current file, then this must be the start_file directive for the compilation unit's main source file. */ @@ -23463,7 +23463,8 @@ dwarf_parse_macro_header (const gdb_byte **opcode_definitions, including DW_MACRO_import. */ static void -dwarf_decode_macro_bytes (struct dwarf2_cu *cu, +dwarf_decode_macro_bytes (struct dwarf2_per_objfile *dwarf2_per_objfile, + buildsym_compunit *builder, bfd *abfd, const gdb_byte *mac_ptr, const gdb_byte *mac_end, struct macro_source_file *current_file, @@ -23473,8 +23474,6 @@ dwarf_decode_macro_bytes (struct dwarf2_cu *cu, unsigned int offset_size, htab_t include_hash) { - struct dwarf2_per_objfile *dwarf2_per_objfile - = cu->per_cu->dwarf2_per_objfile; struct objfile *objfile = dwarf2_per_objfile->objfile; enum dwarf_macro_record_type macinfo_type; int at_commandline; @@ -23631,8 +23630,8 @@ dwarf_decode_macro_bytes (struct dwarf2_cu *cu, at_commandline = 0; } else - current_file = macro_start_file (cu, file, line, current_file, - lh); + current_file = macro_start_file (builder, file, line, + current_file, lh); } break; @@ -23713,7 +23712,8 @@ dwarf_decode_macro_bytes (struct dwarf2_cu *cu, { *slot = (void *) new_mac_ptr; - dwarf_decode_macro_bytes (cu, include_bfd, new_mac_ptr, + dwarf_decode_macro_bytes (dwarf2_per_objfile, builder, + include_bfd, new_mac_ptr, include_mac_end, current_file, lh, section, section_is_gnu, is_dwz, offset_size, include_hash); @@ -23827,6 +23827,7 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset, return; } + buildsym_compunit *builder = cu->get_builder (); do { /* Do we at least have room for a macinfo type byte? */ @@ -23875,7 +23876,8 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset, file = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read); mac_ptr += bytes_read; - current_file = macro_start_file (cu, file, line, current_file, lh); + current_file = macro_start_file (builder, file, line, + current_file, lh); } break; @@ -23940,7 +23942,8 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset, mac_ptr = section->buffer + offset; slot = htab_find_slot (include_hash.get (), mac_ptr, INSERT); *slot = (void *) mac_ptr; - dwarf_decode_macro_bytes (cu, abfd, mac_ptr, mac_end, + dwarf_decode_macro_bytes (dwarf2_per_objfile, builder, + abfd, mac_ptr, mac_end, current_file, lh, section, section_is_gnu, 0, offset_size, include_hash.get ()); -- 2.17.2