From patchwork Fri May 3 18:23:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandra Loosemore X-Patchwork-Id: 32500 Received: (qmail 103110 invoked by alias); 3 May 2019 18:23:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 103101 invoked by uid 89); 3 May 2019 18:23:40 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=H*f:sk:ee6c5cb, core_addr, minsyms.c, sk:bound_m X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 03 May 2019 18:23:37 +0000 Received: from svr-orw-mbx-03.mgc.mentorg.com ([147.34.90.203]) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1hMcqO-0000ha-6B from Sandra_Loosemore@mentor.com ; Fri, 03 May 2019 11:23:36 -0700 Received: from [127.0.0.1] (147.34.91.1) by svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 3 May 2019 11:23:33 -0700 Subject: Re: [PATCH 3/3] Introduce a separate debug objfile iterator To: Tom Tromey CC: References: <20190409180945.21621-1-tom@tromey.com> <20190409180945.21621-4-tom@tromey.com> <87a7g73306.fsf@tromey.com> <87ef5iyrjf.fsf@tromey.com> From: Sandra Loosemore Message-ID: <28398247-e959-c206-8ab0-1af1c6fa98cd@codesourcery.com> Date: Fri, 3 May 2019 12:23:12 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <87ef5iyrjf.fsf@tromey.com> On 5/1/19 12:10 PM, Tom Tromey wrote: > Sandra> FYI, this series of patches has broken builds with older versions of > Sandra> GCC (we've got 5.2.1 installed on our build system here). Multiple > Sandra> failures like: > > Tom> I think that's a bug in that version of gcc, but gdb has routinely > Tom> worked around it in the past. > > [...] > > Tom> If you can send me a full list, I can send you a patch to test. > > I did a grep and came up with the appended. > If you try it, and it works, I will check it in. I found one more use in ada-lang.c that you'd missed. Things build with the attached version of the patch, but I haven't done any testing beyond that. -Sandra diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 1a56663..20fb349 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -12483,7 +12483,7 @@ create_excep_cond_exprs (struct ada_catchpoint *c, because the expression may hold the addresses of multiple symbols in some cases. */ std::multimap loc_map; - for (struct bp_location *bl = c->loc; bl != NULL; bl = bl->next) + for (bp_location *bl = c->loc; bl != NULL; bl = bl->next) loc_map.emplace (bl->pspace, bl); scoped_restore_current_program_space save_pspace; @@ -13231,7 +13231,7 @@ ada_exception_catchpoint_cond_string (const char *excep_string, excep_string = ada_encode (excep_string); std::vector symbols = ada_lookup_simple_minsyms (excep_string); - for (const struct bound_minimal_symbol &msym : symbols) + for (const bound_minimal_symbol &msym : symbols) { if (!result.empty ()) result += " or "; diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index 8282ef2..e3368ce 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -1706,7 +1706,7 @@ darwin_attach_pid (struct inferior *inf) static struct thread_info * thread_info_from_private_thread_info (darwin_thread_info *pti) { - for (struct thread_info *it : all_threads ()) + for (thread_info *it : all_threads ()) { darwin_thread_info *iter_pti = get_darwin_thread_info (it); diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index b0bdecf..b5ea9e3 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -15962,7 +15962,7 @@ handle_struct_member_die (struct die_info *child_die, struct type *type, field for our sole member child. */ struct attribute *discr = dwarf2_attr (child_die, DW_AT_discr_value, cu); - for (struct die_info *variant_child = child_die->child; + for (die_info *variant_child = child_die->child; variant_child != NULL; variant_child = sibling_die (variant_child)) { diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 8037329..9d29d88 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -721,7 +721,7 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio gdb_assert (section != NULL); - for (struct objfile *objfile : section->objfile->separate_debug_objfiles ()) + for (objfile *objfile : section->objfile->separate_debug_objfiles ()) { CORE_ADDR pc = pc_in; diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 1b0ea29..30823c2 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -864,7 +864,7 @@ objfile_relocate (struct objfile *objfile, changed |= objfile_relocate1 (objfile, new_offsets); - for (struct objfile *debug_objfile : objfile->separate_debug_objfiles ()) + for (::objfile *debug_objfile : objfile->separate_debug_objfiles ()) { if (debug_objfile == objfile) continue; @@ -919,7 +919,7 @@ objfile_rebase (struct objfile *objfile, CORE_ADDR slide) { int changed = 0; - for (struct objfile *debug_objfile : objfile->separate_debug_objfiles ()) + for (::objfile *debug_objfile : objfile->separate_debug_objfiles ()) changed |= objfile_rebase1 (debug_objfile, slide); /* Relocate breakpoints as necessary, after things are relocated. */ @@ -960,7 +960,7 @@ objfile_has_full_symbols (struct objfile *objfile) int objfile_has_symbols (struct objfile *objfile) { - for (struct objfile *o : objfile->separate_debug_objfiles ()) + for (::objfile *o : objfile->separate_debug_objfiles ()) if (objfile_has_partial_symbols (o) || objfile_has_full_symbols (o)) return 1; return 0; diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c index 927a285..5aa7105 100644 --- a/gdb/ser-tcp.c +++ b/gdb/ser-tcp.c @@ -319,7 +319,7 @@ net_open (struct serial *scb, const char *name) { got_connrefused = false; - for (struct addrinfo *iter = ainfo; iter != NULL; iter = iter->ai_next) + for (addrinfo *iter = ainfo; iter != NULL; iter = iter->ai_next) { /* Iterate over the list of possible addresses to connect to. For each, we'll try to connect and see if it diff --git a/gdb/symtab.c b/gdb/symtab.c index 16e641a..0e1f7ea 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -2246,7 +2246,7 @@ lookup_global_symbol_from_objfile (struct objfile *main_objfile, const char *name, const domain_enum domain) { - for (struct objfile *objfile : main_objfile->separate_debug_objfiles ()) + for (objfile *objfile : main_objfile->separate_debug_objfiles ()) { struct block_symbol result = lookup_symbol_in_objfile (objfile, GLOBAL_BLOCK, name, domain); @@ -2333,7 +2333,7 @@ lookup_symbol_in_objfile_from_linkage_name (struct objfile *objfile, else main_objfile = objfile; - for (struct objfile *cur_objfile : main_objfile->separate_debug_objfiles ()) + for (::objfile *cur_objfile : main_objfile->separate_debug_objfiles ()) { struct block_symbol result;