From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from barracuda.ebox.ca (barracuda.ebox.ca [96.127.255.19]) by sourceware.org (Postfix) with ESMTPS id 4D14B3947C3E for ; Fri, 28 Jan 2022 12:49:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4D14B3947C3E X-ASG-Debug-ID: 1643374173-0c856e06ad271a80001-fS2M51 Received: from smtp.ebox.ca (smtp.ebox.ca [96.127.255.82]) by barracuda.ebox.ca with ESMTP id 3mOTS5WtIFwpku25 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 28 Jan 2022 07:49:33 -0500 (EST) X-Barracuda-Envelope-From: simon.marchi@polymtl.ca X-Barracuda-RBL-Trusted-Forwarder: 96.127.255.82 Received: from simark.localdomain (192-222-157-6.qc.cable.ebox.net [192.222.157.6]) by smtp.ebox.ca (Postfix) with ESMTP id 40A81441D68; Fri, 28 Jan 2022 07:49:33 -0500 (EST) From: Simon Marchi X-Barracuda-RBL-IP: 192.222.157.6 X-Barracuda-Effective-Source-IP: 192-222-157-6.qc.cable.ebox.net[192.222.157.6] X-Barracuda-Apparent-Source-IP: 192.222.157.6 To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 21/33] gdb: remove SYMTAB_PSPACE macro Date: Fri, 28 Jan 2022 07:45:19 -0500 X-ASG-Orig-Subj: [PATCH 21/33] gdb: remove SYMTAB_PSPACE macro Message-Id: <20220128124531.2302941-22-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220128124531.2302941-1-simon.marchi@polymtl.ca> References: <20220128124531.2302941-1-simon.marchi@polymtl.ca> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: smtp.ebox.ca[96.127.255.82] X-Barracuda-Start-Time: 1643374173 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://96.127.255.19:443/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at ebox.ca X-Barracuda-Scan-Msg-Size: 8619 X-Barracuda-Spam-Score: 0.50 X-Barracuda-Spam-Status: No, SCORE=0.50 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=8.0 tests=BSF_RULE7568M X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.95629 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_RULE7568M Custom Rule 7568M X-Spam-Status: No, score=-3602.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_QUARANTINE, KAM_DMARC_STATUS, KAM_STOCKGEN, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Fri, 28 Jan 2022 12:49:37 -0000 From: Simon Marchi Remove the macro, replace with an equivalent method. Change-Id: Icccc20e7e8ae03ac4dac1c7514c25a12a9a0ac69 --- gdb/annotate.c | 2 +- gdb/linespec.c | 40 ++++++++++++++++++++-------------------- gdb/source.c | 2 +- gdb/symtab.c | 8 ++++++++ gdb/symtab.h | 3 ++- 5 files changed, 32 insertions(+), 23 deletions(-) diff --git a/gdb/annotate.c b/gdb/annotate.c index b84d8f0bf6a8..7201d9a06dcb 100644 --- a/gdb/annotate.c +++ b/gdb/annotate.c @@ -453,7 +453,7 @@ annotate_source_line (struct symtab *s, int line, int mid_statement, /* Update the current symtab and line. */ symtab_and_line sal; - sal.pspace = SYMTAB_PSPACE (s); + sal.pspace = s->pspace (); sal.symtab = s; sal.line = line; set_current_source_symtab_and_line (sal); diff --git a/gdb/linespec.c b/gdb/linespec.c index 1606af889cd0..9531295e6a3d 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -2265,7 +2265,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls) for (const auto &sym : ls->labels.label_symbols) { struct program_space *pspace - = SYMTAB_PSPACE (symbol_symtab (sym.symbol)); + = symbol_symtab (sym.symbol)->pspace (); if (symbol_to_sal (&sal, state->funfirstline, sym.symbol) && maybe_add_address (state->addr_set, pspace, sal.pc)) @@ -2287,7 +2287,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls) for (const auto &sym : ls->function_symbols) { program_space *pspace - = SYMTAB_PSPACE (symbol_symtab (sym.symbol)); + = symbol_symtab (sym.symbol)->pspace (); set_current_program_space (pspace); /* Don't skip to the first line of the function if we @@ -3539,8 +3539,8 @@ lookup_prefix_sym (struct linespec_state *state, { /* Program spaces that are executing startup should have been filtered out earlier. */ - gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup); - set_current_program_space (SYMTAB_PSPACE (elt)); + gdb_assert (!elt->pspace ()->executing_startup); + set_current_program_space (elt->pspace ()); iterate_over_file_blocks (elt, lookup_name, STRUCT_DOMAIN, collector); iterate_over_file_blocks (elt, lookup_name, VAR_DOMAIN, collector); } @@ -3558,8 +3558,8 @@ compare_symbols (const block_symbol &a, const block_symbol &b) { uintptr_t uia, uib; - uia = (uintptr_t) SYMTAB_PSPACE (symbol_symtab (a.symbol)); - uib = (uintptr_t) SYMTAB_PSPACE (symbol_symtab (b.symbol)); + uia = (uintptr_t) symbol_symtab (a.symbol)->pspace (); + uib = (uintptr_t) symbol_symtab (b.symbol)->pspace (); if (uia < uib) return true; @@ -3683,7 +3683,7 @@ find_method (struct linespec_state *self, /* Program spaces that are executing startup should have been filtered out earlier. */ - pspace = SYMTAB_PSPACE (symbol_symtab (sym)); + pspace = symbol_symtab (sym)->pspace (); gdb_assert (!pspace->executing_startup); set_current_program_space (pspace); t = check_typedef (SYMBOL_TYPE (sym)); @@ -3694,7 +3694,7 @@ find_method (struct linespec_state *self, sure not to miss the last batch. */ if (ix == sym_classes->size () - 1 || (pspace - != SYMTAB_PSPACE (symbol_symtab (sym_classes->at (ix + 1).symbol)))) + != symbol_symtab (sym_classes->at (ix + 1).symbol)->pspace ())) { /* If we did not find a direct implementation anywhere in this program space, consider superclasses. */ @@ -4058,7 +4058,7 @@ find_label_symbols (struct linespec_state *self, for (const auto &elt : function_symbols) { fn_sym = elt.symbol; - set_current_program_space (SYMTAB_PSPACE (symbol_symtab (fn_sym))); + set_current_program_space (symbol_symtab (fn_sym)->pspace ()); block = SYMBOL_BLOCK_VALUE (fn_sym); find_label_symbols_in_block (block, name, fn_sym, completion_mode, @@ -4087,13 +4087,13 @@ decode_digits_list_mode (struct linespec_state *self, /* The logic above should ensure this. */ gdb_assert (elt != NULL); - set_current_program_space (SYMTAB_PSPACE (elt)); + set_current_program_space (elt->pspace ()); /* Simplistic search just for the list command. */ val.symtab = find_line_symtab (elt, val.line, NULL, NULL); if (val.symtab == NULL) val.symtab = elt; - val.pspace = SYMTAB_PSPACE (elt); + val.pspace = elt->pspace (); val.pc = 0; val.explicit_line = true; @@ -4121,13 +4121,13 @@ decode_digits_ordinary (struct linespec_state *self, /* The logic above should ensure this. */ gdb_assert (elt != NULL); - set_current_program_space (SYMTAB_PSPACE (elt)); + set_current_program_space (elt->pspace ()); pcs = find_pcs_for_symtab_line (elt, line, best_entry); for (CORE_ADDR pc : pcs) { symtab_and_line sal; - sal.pspace = SYMTAB_PSPACE (elt); + sal.pspace = elt->pspace (); sal.symtab = elt; sal.line = line; sal.explicit_line = true; @@ -4319,9 +4319,9 @@ search_minsyms_for_name (struct collect_info *info, } else { - if (search_pspace == NULL || SYMTAB_PSPACE (symtab) == search_pspace) + if (search_pspace == NULL || symtab->pspace () == search_pspace) { - set_current_program_space (SYMTAB_PSPACE (symtab)); + set_current_program_space (symtab->pspace ()); iterate_over_minimal_symbols (symtab->objfile (), name, [&] (struct minimal_symbol *msym) @@ -4407,14 +4407,14 @@ add_matching_symbols_to_info (const char *name, { return info->add_symbol (bsym); }); search_minsyms_for_name (info, lookup_name, pspace, NULL); } - else if (pspace == NULL || pspace == SYMTAB_PSPACE (elt)) + else if (pspace == NULL || pspace == elt->pspace ()) { int prev_len = info->result.symbols->size (); /* Program spaces that are executing startup should have been filtered out earlier. */ - gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup); - set_current_program_space (SYMTAB_PSPACE (elt)); + gdb_assert (!elt->pspace ()->executing_startup); + set_current_program_space (elt->pspace ()); iterate_over_file_blocks (elt, lookup_name, VAR_DOMAIN, [&] (block_symbol *bsym) { return info->add_symbol (bsym); }); @@ -4453,7 +4453,7 @@ symbol_to_sal (struct symtab_and_line *result, result->symbol = sym; result->line = SYMBOL_LINE (sym); result->pc = SYMBOL_VALUE_ADDRESS (sym); - result->pspace = SYMTAB_PSPACE (result->symtab); + result->pspace = result->symtab->pspace (); result->explicit_pc = 1; return 1; } @@ -4469,7 +4469,7 @@ symbol_to_sal (struct symtab_and_line *result, result->symbol = sym; result->line = SYMBOL_LINE (sym); result->pc = SYMBOL_VALUE_ADDRESS (sym); - result->pspace = SYMTAB_PSPACE (result->symtab); + result->pspace = result->symtab->pspace (); return 1; } } diff --git a/gdb/source.c b/gdb/source.c index d184990a6c0a..1339c4a727f3 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -311,7 +311,7 @@ select_source_symtab (struct symtab *s) if (s) { current_source_location *loc - = get_source_location (SYMTAB_PSPACE (s)); + = get_source_location (s->pspace ()); loc->set (s, 1); return; } diff --git a/gdb/symtab.c b/gdb/symtab.c index 671e22c57235..b12c3af7f2ba 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -331,6 +331,14 @@ search_domain_name (enum search_domain e) /* See symtab.h. */ +program_space * +symtab::pspace () const +{ + return this->objfile ()->pspace; +} + +/* See symtab.h. */ + call_site * compunit_symtab::find_call_site (CORE_ADDR pc) const { diff --git a/gdb/symtab.h b/gdb/symtab.h index 9cfbd71937a3..5ef4bdaa1109 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1407,6 +1407,8 @@ struct symtab struct objfile *objfile () const; + program_space *pspace () const; + /* Unordered chain of all filetabs in the compunit, with the exception that the "main" source file is the first entry in the list. */ @@ -1439,7 +1441,6 @@ struct symtab using symtab_range = next_range; -#define SYMTAB_PSPACE(symtab) ((symtab)->objfile ()->pspace) #define SYMTAB_DIRNAME(symtab) ((symtab)->compunit ()->dirname ()) /* Compunit symtabs contain the actual "symbol table", aka blockvector, as well -- 2.34.1