From: Guinevere Larsen <guinevere@redhat.com>
To: gdb-patches@sourceware.org
Cc: Guinevere Larsen <guinevere@redhat.com>
Subject: [PATCH v7 0/5] Introduce syntax for linker-namespace specific symbols
Date: Mon, 1 Jun 2026 16:22:46 -0300 [thread overview]
Message-ID: <20260601192251.60958-1-guinevere@redhat.com> (raw)
This series adds support for the syntax [[N]]::foo to find symbols that
belong to specific namespaces, while also making GDB's behavior more
consistent when a namespace is not specified. This needs 2 preparatory
patches and 2 patches actually implementing this feature, and one final
patch to make symtab searching more consistent with the [[N]]::foo
syntax.
Patch 1 is a small refactor, creating a function to figure out the
current linker namespace. Patch 2 is an essential fix, updating how we
calculate a variable's copy relocation to take linker namespaces into
account.
Patches 3 and 4 implement the new syntax, adding the necessary
supporting code and updating error messages when symbols can't be found
- where it made sense. Patch 5 is a small change to the find_symtab
function, to prefer symtabs from the current linker namespace.
Changes for v7:
* Added 2 new patches to the series, one to solve Andrew's feedback and
another to fix an inconsistency I found.
* Minor cosmetic fixes
* rebased on master
Changes for v6:
* Rebased on master
* Fixed a crash when using the [[N]]::foo syntax before starting the
inferior
Changes for v5:
* fixed crash when getting the value of a variable before the inferior
starts.
* Rebased on master
Changes for v4:
* Fixed final documentation feedback from Eli.
* Changed error message when [[N]]::foo::bar fails to find 'foo'.
* Fixed build breakage.
Changes for v3:
* Removed previous patches 1 and 2, as Simon's recently merged patches
already did those in a better way.
* parser_state now also takes the current solib_ops, since that can't be
obtained from gdbarch anymore.
Changes for v2:
* solib_supports_linker_namespaces now always expects a pointer.
* Previous patches 2 and 3 were dropped.
* lookup_minimal_symbol_linkage now takes an array_view.
* created new tokens for [[ and ]], to ensure that [[N]] looks like
that.
* Fixed formatting nits from Eli.
Guinevere Larsen (5):
gdb: Create helper function for the current namespace
gdb: make lookup_minimal_symbol_linkage work with linker namespaces
gdb: Make the parser recognize the [[N]] syntax for variables
gdb: extend the [[N]]::foo syntax for files
gdb: prefer symtabs for the current linker namespace
gdb/NEWS | 5 +
gdb/c-exp.y | 93 ++++++++++---
gdb/doc/gdb.texinfo | 6 +
gdb/dwarf2/ada-imported.c | 8 +-
gdb/linespec.c | 4 +-
gdb/minsyms.c | 137 ++++++++++++-------
gdb/minsyms.h | 21 ++-
gdb/parse.c | 3 +-
gdb/parser-defs.h | 50 ++++++-
gdb/rust-parse.c | 3 +-
gdb/solib-svr4.c | 20 ---
gdb/solib.c | 108 +++++++++++++--
gdb/solib.h | 29 ++++
gdb/symtab.c | 94 +++++++++++--
gdb/symtab.h | 12 +-
gdb/testsuite/gdb.base/dlmopen-ns-ids-lib.c | 14 ++
gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c | 8 ++
gdb/testsuite/gdb.base/dlmopen-ns-ids.exp | 83 +++++++++++
18 files changed, 570 insertions(+), 128 deletions(-)
base-commit: 909db30adab1688870e978c85d014d4a36641f4e
--
2.54.0
next reply other threads:[~2026-06-01 19:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 19:22 Guinevere Larsen [this message]
2026-06-01 19:22 ` [PATCH v7 1/5] gdb: Create helper function for the current namespace Guinevere Larsen
2026-06-01 19:22 ` [PATCH v7 2/5] gdb: make lookup_minimal_symbol_linkage work with linker namespaces Guinevere Larsen
2026-06-01 19:22 ` [PATCH v7 3/5] gdb: Make the parser recognize the [[N]] syntax for variables Guinevere Larsen
2026-06-01 19:22 ` [PATCH v7 4/5] gdb: extend the [[N]]::foo syntax for files Guinevere Larsen
2026-06-01 19:22 ` [PATCH v7 5/5] gdb: prefer symtabs for the current linker namespace Guinevere Larsen
2026-06-03 18:26 ` Guinevere Larsen
2026-06-03 19:16 ` [PATCH v7 5/5] Fixed " Guinevere Larsen
2026-06-22 20:35 ` [PING][PATCH v7 0/5] Introduce syntax for linker-namespace specific symbols Guinevere Larsen
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=20260601192251.60958-1-guinevere@redhat.com \
--to=guinevere@redhat.com \
--cc=gdb-patches@sourceware.org \
/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