From: "Rohr, Stephan" <stephan.rohr@intel.com>
To: Simon Marchi <simon.marchi@efficios.com>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: RE: [PATCH 8/9] gdb: pass result containers by reference in global_symbol_searcher
Date: Wed, 30 Sep 2026 13:58:14 +0000 [thread overview]
Message-ID: <DS7PR11MB624700F2DD2BEF3689C9E624938B2@DS7PR11MB6247.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20260929194119.155169-9-simon.marchi@efficios.com>
> -----Original Message-----
> From: Simon Marchi <simon.marchi@efficios.com>
> Sent: Tuesday, 29 September 2026 21:39
> To: gdb-patches@sourceware.org
> Cc: Simon Marchi <simon.marchi@efficios.com>
> Subject: [PATCH 8/9] gdb: pass result containers by reference in
> global_symbol_searcher
>
> add_matching_symbols and add_matching_msymbols take the container to
> add results to as a pointer, but it can never be nullptr. Pass it by
> reference instead.
>
> Change-Id: I65d8e14f2f3152d83afbe3b348fc91a8817b87fa
> ---
> gdb/symtab.c | 17 ++++++++---------
> gdb/symtab.h | 4 ++--
> 2 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/gdb/symtab.c b/gdb/symtab.c
> index 79e43eafde18..10a794004d33 100644
> --- a/gdb/symtab.c
> +++ b/gdb/symtab.c
> @@ -4899,7 +4899,7 @@ global_symbol_searcher::add_matching_symbols
> (objfile *objfile,
> const std::optional<compiled_regex> &name_regex,
> const std::optional<compiled_regex> &type_regex,
> - std::set<symbol_search> *result_set) const
> + std::set<symbol_search> &result_set) const
Just a general question: does it make sense to keep "objfile" as pointer
or could this also be converted to reference for consistency?
> {
> /* Add matching symbols (if not already present). */
> for (compunit_symtab &cust : objfile->compunits ())
> @@ -4918,8 +4918,8 @@ global_symbol_searcher::add_matching_symbols
> continue;
>
> /* Match, insert if not already in the results. */
> - if (result_set->size () < m_max_search_results)
> - result_set->emplace (block, sym);
> + if (result_set.size () < m_max_search_results)
> + result_set.emplace (block, sym);
> else
> return false;
> }
> @@ -4934,7 +4934,7 @@ global_symbol_searcher::add_matching_symbols
> bool
> global_symbol_searcher::add_matching_msymbols
> (objfile *objfile, const std::optional<compiled_regex> &name_regex,
> - std::vector<symbol_search> *results) const
> + std::vector<symbol_search> &results) const
> {
> for (minimal_symbol *msymbol : objfile->msymbols ())
> {
> @@ -4955,8 +4955,8 @@
> global_symbol_searcher::add_matching_msymbols
> continue;
>
> /* Matching msymbol, add it to the results list. */
> - if (results->size () < m_max_search_results)
> - results->emplace_back (GLOBAL_BLOCK, msymbol, objfile);
> + if (results.size () < m_max_search_results)
> + results.emplace_back (GLOBAL_BLOCK, msymbol, objfile);
> else
> return false;
> }
> @@ -5056,8 +5056,7 @@ global_symbol_searcher::search () const
> RESULT_SET set. Use a set here so that we can easily detect
> duplicates as we go, and can therefore track how many unique
> matches we have found so far. */
> - if (!add_matching_symbols (&objfile, name_regex, type_regex,
> - &result_set))
> + if (!add_matching_symbols (&objfile, name_regex, type_regex,
> result_set))
> break;
> }
>
> @@ -5077,7 +5076,7 @@ global_symbol_searcher::search () const
> gdb_assert (m_kind == symbol_search_kind::VARIABLE
> || m_kind == symbol_search_kind::FUNCTION);
> for (objfile &objfile : current_program_space->objfiles ())
> - if (!add_matching_msymbols (&objfile, name_regex, &result))
> + if (!add_matching_msymbols (&objfile, name_regex, result))
> break;
> }
>
> diff --git a/gdb/symtab.h b/gdb/symtab.h
> index 5dd0475e4491..e382b64b427c 100644
> --- a/gdb/symtab.h
> +++ b/gdb/symtab.h
> @@ -2705,7 +2705,7 @@ class global_symbol_searcher
> bool add_matching_symbols (objfile *objfile,
> const std::optional<compiled_regex> &name_regex,
> const std::optional<compiled_regex> &type_regex,
> - std::set<symbol_search> *result_set) const;
> + std::set<symbol_search> &result_set) const;
>
Nit: The comment in symtab.h mentions "RESULTS_SET", but it should be
"RESULT_SET". This is not the correct patch to address this, I just noticed now.
> /* Add msymbols from OBJFILE that match NAME_REGEX and M_KIND, to
> the
> results vector RESULTS. Return false if we stop adding results early
> @@ -2715,7 +2715,7 @@ class global_symbol_searcher
> didn't _not_ add a result due to reaching MAX_SEARCH_RESULTS. */
> bool add_matching_msymbols (objfile *objfile,
> const std::optional<compiled_regex>
> &name_regex,
> - std::vector<symbol_search> *results) const;
> + std::vector<symbol_search> &results) const;
>
> /* Return true if MSYMBOL is of type M_KIND. */
> bool is_suitable_msymbol (const minimal_symbol *msymbol) const;
> --
> 2.55.0
________________________________________
Intel Deutschland GmbH
Registered Address: Dornacher Strasse 1, 85622 Feldkirchen, Germany
Tel: +49 (89) 99143-0
www.intel.de
Managing Directors: Candice Moore, Jeffrey Schneiderman, Ramachandran Sitaraman
Chairperson of the Supervisory Board: Sonja Pierer
Registered Seat: Munich Commercial Register B: Amtsgericht Munich HRB 186928
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
next prev parent reply other threads:[~2026-09-30 14:00 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 19:39 [PATCH 0/9] Cleanups " Simon Marchi
2026-09-29 19:39 ` [PATCH 1/9] gdb: add symbol_search_kind enum for global_symbol_searcher Simon Marchi
2026-09-30 9:31 ` Rohr, Stephan
2026-09-30 14:50 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 2/9] gdb: factor out regexp compilation from global_symbol_searcher::search Simon Marchi
2026-09-30 12:10 ` Rohr, Stephan
2026-09-30 16:21 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 3/9] gdb: simplify insertion in global_symbol_searcher::add_matching_symbols Simon Marchi
2026-09-30 8:20 ` Rohr, Stephan
2026-09-30 16:36 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 4/9] gdb: use a switch on m_kind in add_matching_symbols Simon Marchi
[not found] ` <DS7PR11MB624725508FC878F3C263C2B3938B2@DS7PR11MB6247.namprd11.prod.outlook.com>
2026-09-30 19:41 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 5/9] gdb: make global_symbol_searcher::is_suitable_msymbol non-static Simon Marchi
2026-09-30 12:39 ` Rohr, Stephan
2026-09-29 19:39 ` [PATCH 6/9] gdb: update comment of global_symbol_searcher::expand_symtabs Simon Marchi
2026-09-30 13:08 ` Rohr, Stephan
2026-09-30 20:01 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 7/9] gdb: add matching helpers to global_symbol_searcher Simon Marchi
2026-09-30 13:51 ` Rohr, Stephan
2026-09-30 20:27 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 8/9] gdb: pass result containers by reference in global_symbol_searcher Simon Marchi
2026-09-30 13:58 ` Rohr, Stephan [this message]
2026-10-01 1:33 ` Simon Marchi
2026-09-29 19:39 ` [PATCH 9/9] gdb: fix some comments " Simon Marchi
2026-09-30 14:01 ` Rohr, Stephan
2026-10-01 1:38 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 00/11] Cleanups " simon.marchi
2026-10-01 2:09 ` [PATCH v2 01/11] gdb: add symbol_search_kind enum for global_symbol_searcher simon.marchi
2026-10-01 10:30 ` Andrew Burgess
2026-10-01 13:22 ` Simon Marchi
2026-10-01 15:35 ` Tom Tromey
2026-10-01 2:09 ` [PATCH v2 02/11] gdb: rename some preg/treg variables simon.marchi
2026-10-01 12:59 ` Andrew Burgess
2026-10-01 13:52 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 03/11] gdb: factor out regexp compilation from global_symbol_searcher::search simon.marchi
2026-10-01 13:19 ` Andrew Burgess
2026-10-01 13:54 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 04/11] gdb: use compile_symbol_search_regex in stack.c simon.marchi
2026-10-01 13:43 ` Andrew Burgess
2026-10-01 15:36 ` Tom Tromey
2026-10-01 15:52 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 05/11] gdb: simplify insertion in global_symbol_searcher::add_matching_symbols simon.marchi
2026-10-01 13:46 ` Andrew Burgess
2026-10-01 2:09 ` [PATCH v2 06/11] gdb: use a switch on m_kind in add_matching_symbols simon.marchi
2026-10-01 15:01 ` Andrew Burgess
2026-10-01 15:07 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 07/11] gdb: make global_symbol_searcher::is_suitable_msymbol non-static simon.marchi
2026-10-01 15:09 ` Andrew Burgess
2026-10-01 2:09 ` [PATCH v2 08/11] gdb: update comments of global_symbol_searcher::expand_symtabs simon.marchi
2026-10-01 15:13 ` Andrew Burgess
2026-10-01 2:09 ` [PATCH v2 09/11] gdb: add matching helpers to global_symbol_searcher simon.marchi
2026-10-01 15:39 ` Andrew Burgess
2026-10-01 15:48 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 10/11] gdb: change some pointers to references in global_symbol_searcher simon.marchi
2026-10-01 15:53 ` Andrew Burgess
2026-10-01 15:55 ` Simon Marchi
2026-10-01 2:09 ` [PATCH v2 11/11] gdb: fix some comments " simon.marchi
2026-10-01 15:56 ` Andrew Burgess
2026-10-01 17:47 ` Simon Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DS7PR11MB624700F2DD2BEF3689C9E624938B2@DS7PR11MB6247.namprd11.prod.outlook.com \
--to=stephan.rohr@intel.com \
--cc=gdb-patches@sourceware.org \
--cc=simon.marchi@efficios.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox